我正在開發一個使用實體框架的Web應用程序。我加載對象列表並將其綁定到中繼器以顯示所有項目的摘要。用戶可以點擊中繼器中每個項目的編輯圖標或刪除圖標。實體框架中刪除對象時的併發性
例如:
第1項|編輯|刪除
第2項|編輯|刪除
...
編輯使用rowversion列時併發,因爲記錄被裝入,並ID和rowversion列中的值隱藏表單域堅持正常工作。這些「原始」值隨後可用於稍後進行更新。但是,如果用戶單擊刪除記錄,我從數據庫加載對象,調用DeleteObject(),然後調用SaveChanges()。這個問題是,當我加載記錄時,它得到最新的rowversion值,所以任何併發檢查都變得毫無用處。
如何確保在刪除記錄時進行併發檢查?
我不明白你的問題。爲什麼在刪除記錄時要做任何併發檢查? – ZippyV
例如,假設您正在瀏覽要刪除那些尚未標記爲已付款的記錄。在列出清單後,另一個用戶進入並標記爲已付記錄。根據您看到的信息(現在已陳舊),您決定刪除該記錄。您點擊刪除按鈕,現在已經刪除了付費記錄,因爲它在您的屏幕上顯示爲未付費。在這種情況下,併發檢查可以防止這種情況發生。 – NYSystemsAnalyst