假設我有一個包含customer_id,名稱,地址和餘額列的銀行帳戶表。由於客戶存款和提款,餘額不斷變化。如何在不同時獲得DBConcurrencyException的情況下獲得客戶地址?簡單併發ASP.NET數據庫
這種情況下的一般方法是什麼?對於兩個用戶來說,更改表格行中的SAME單元是不可能的,但它們可能會更改同一行中的不同單元格,並且無需使用新值更新行問題?
假設我有一個包含customer_id,名稱,地址和餘額列的銀行帳戶表。由於客戶存款和提款,餘額不斷變化。如何在不同時獲得DBConcurrencyException的情況下獲得客戶地址?簡單併發ASP.NET數據庫
這種情況下的一般方法是什麼?對於兩個用戶來說,更改表格行中的SAME單元是不可能的,但它們可能會更改同一行中的不同單元格,並且無需使用新值更新行問題?
我不確定你是否使用LINQ,但如果你是那麼你應該看看它如何處理併發。 LINQ使用樂觀併發。所以基本上,如果用戶嘗試更新記錄,並且記錄已在此期間更新,則會發生併發衝突。
但是,你可以決定你的LINQ表屬性用於在這種情況下,如果在記錄中的值改爲LINQ不會在意併發checking--。
也有辦法來處理,你可以把周圍的exception--一個try塊,並編寫一些代碼來處理不同的情景exception-。
我希望這不是一個真正的銀行。如果你實際上在同一個表中存儲'name','address'和'balance',那麼你就錯了!閱讀標準化。 – Widor 2012-08-09 10:26:31