[英]Transaction Scope Locks table
我正在使用C#3.5,並且在事務范圍內有一個鎖定表的代碼,如何防止事務范圍鎖定這些表?
謝謝,
添加TransactionScope
的選項RequireNew
和設置IsolationLevel
到ReadUncommitted
:
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.