2012-09-04 111 views
3

數據庫行我使用實體框架3.5鎖定在實體框架

我需要編輯一個數據庫行,我要確保,一旦我開始編輯它沒有其它進程編輯此行。

如何在Entity Framework 3.5中實現此目的?

我正在尋找鎖定一個特定的行,而不是整個表。

回答

2

這可以通過執行悲觀併發來實現。

查看此tutorial以瞭解有關EF中併發性的更多信息。在同一網站上還有一些關於如何實現不同方法來處理併發的教程。

希望這會有所幫助!

+0

我認爲它在默認情況下鎖定整個表? – SMK

+0

我這麼認爲,所以人們不得不專門處理單個行上的鎖。 – Logard

+5

如何鎖定單個行?我不想鎖定整個桌子。 – ashwnacharya

1

您可以使用範圍如下:

var transactionOptions = new TransactionOptions 
{ 
    IsolationLevel = IsolationLevel.Serializable, 
    Timeout = TimeSpan.MaxValue 
}; 

using (var scope = new TransactionScope(
     TransactionScopeOption.Required, transactionOptions)) 
{ 
    // Your code 
}