簡體   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