繁体   English   中英

交易范围锁定表

[英]Transaction Scope Locks table

我正在使用C#3.5,并且在事务范围内有一个锁定表的代码,如何防止事务范围锁定这些表?

谢谢,

添加TransactionScope的选项RequireNew和设置IsolationLevelReadUncommitted

using (var t = new TransactionScope(TransactionScopeOption.RequireNew,
new TransactionOptions { 
    IsolationLevel = IsolationLevel.ReadUncommitted 
}))
{
    // your code
}

TransactionScope使代码块具有事务性。 当“代码”尚未COMMITED/ROLLED BACK被锁定的表将被锁定。

您应该使用关键字来防止表锁定,例如nolock,但是要注意如何读取它们,例如读取已提交或未提交读,因为这可能会使您陷入所谓的脏读。

我通过添加解决了这个问题

with(nolock)

事务中涉及的SQL存储过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM