回答
將所有更改的值包含在where子句中。如果沒有行更新,您知道您的數據已過時,您可以在此處通知用戶並詢問要採取何種行動。
它是否也適用於可能不包含所有實體字段但至少是ID的DTO? – 2009-11-29 23:26:01
是的 - 您正在改變的值是您唯一可能過時的值。 – 2009-11-30 00:07:09
這是內置於LINQ to SQL和EF With Column屬性的UpdateCheck屬性。我的選擇是使用LINQ to SQL與分離的POCO實體一起使用,只要您肯定只想使用MS SQL SERVER並且您不需要複雜的數據庫到實體映射。
在這種情況下,我會在每個表中使用單個併發字段,並僅對該字段執行併發檢查。整數字段很好,只需在每次更新時遞增。
請參閱這裏瞭解使用LINQ to SQL進行併發控制。
認爲這將是得心應手太:
LINQ to SQL Optimistic Concurrency Overview
P.S這是所有假設你的解決方案會使用樂觀併發要罰款。如果您處於數據量變化很大的高負載服務器,則可能需要更悲觀的併發解決方案。
如果您未使用WCF傳遞所有值,則可以爲表引入一個時間戳(rowversion)字段。該值將作爲您實體和您的DTO的財產。使用LINQ to SQL,您可以選擇使用o ptimistic concurrency檢查,可以指定新的timestamp屬性,而不是比較所有值。
- 1. 處理WP7應用程序開發的最佳方法?
- 2. 處理應用程序中的數據請求,最佳做法
- 3. MySQL - 處理這種分層數據的最佳方法?
- 4. 處理三維體素數據的最佳方法是什麼?
- 5. 在Windows Mobile 6程序中處理數據的最佳方式
- 6. 在Django中處理併發的最佳方法eauction玩具-app
- 7. 在程序中處理用戶設置的最佳方法
- 8. 在wpf應用程序中存儲數據的最佳方法
- 9. 處理JPA合併的最佳方法?
- 10. 在MySQL中處理多個數組數據的最佳方法?
- 11. 爲iPhone應用程序處理圖像/視圖層的最佳方式
- 12. 在其處理程序中捕獲信號的最佳方法
- 13. 在Rails應用程序中處理動態CSS的最佳方法
- 14. 在獨立應用程序中處理「忘記密碼」的最佳方法
- 15. 在Web應用程序中處理客戶特定請求的最佳方法?
- 16. 在Web應用程序中處理DateTime的最佳方法是什麼?
- 17. 跨層/層處理對象圖的最佳方法是什麼?
- 18. codeigniter/php應用程序中錯誤處理的最佳做法
- 19. 在PowerShell中處理大量嵌套數據的最佳方法?
- 20. 在CodeIgniter中處理關係數據的最佳方法?
- 21. 解耦(用於並行處理)Web應用程序的非即時處理的最佳方法?
- 22. 在文件下載HTTP處理程序中處理404的最佳方法?
- 23. 在Spring Web應用程序中處理認證數據的最佳實踐
- 24. 配置大量數據的應用程序的最佳方法
- 25. web應用程序,處理狀態的最佳方式
- 26. jQuery應用事件處理程序的最佳方式
- 27. 處理SQL參數的最佳方法?
- 28. 在Win Forms應用程序中處理多個線程的最佳方式
- 29. 處理Java Web應用程序中的示例數據的最簡單方法?
- 30. 爲android應用程序存儲數據的最佳方法?
您指的是「數據併發性」,線程同步還是數據一致性? – 2009-11-29 23:15:55
我的意思是數據一致性,我想找到最好的方法,以防止已被更新的數據被另一個用戶更新的人 – 2009-11-29 23:22:32