我正在學習有關使用EF4.0的併發性問題,並對使用的鎖定模式有疑問。我在編程方面相對比較新,特別是併發性,所以我可能會說錯話......請和我一起裸照。使用固定併發模式保存之前鎖定
假設我在版本號屬性上配置了固定併發模式。
現在說我從數據庫(上下文)獲取記錄(實體)並編輯一些屬性。在其上下文中調用SaveChanges時,版本會增加。如果當前數據庫(上下文)版本與原始記錄(實體)的版本相匹配,則保存將繼續,否則由EF引發OptimisticConcurrencyException。
現在,我的興趣點如下:在版本檢查之間總是有一小段時間,無論小小,它都在那裏。所以理論上,其他人可能只是更新了比較和實際保存之間的記錄,因此可能會破壞數據。
這是怎麼解決的?這感覺就好像問題剛剛被推進。
啊,是的,這是有道理的。真正的答案是,我應該剖析我的疑問:) – duress