簡體   English   中英

EF強制並發檢查

[英]EF Forced Concurrency Checks

EF 4.0出現問題,希望有人可以提供幫助。 我目前有一個實體,我想以wins的方式進行最后更新(即忽略並發檢查,只是用提交的內容覆蓋數據庫中的內容)。 看來Entity Framework不僅在所生成的sql的where子句中包括實體的主鍵,而且還包括任何外鍵字段。 這很煩人,因為這意味着我在wins語義上沒有獲得真正的成功,需要在更新之前知道fk字段具有什么值,否則我將獲得並發異常。

我知道可以通過在實體上包含外鍵字段以及導航屬性來實現短路。 我想避免這種情況,因為這不是一個很干凈的解決方案。

我只是想知道是否還有其他方法可以替代此行為? 似乎更多的是錯誤而不是功能。 如果我指示執行並發檢查,我對ef沒問題,但是不能完全繞過並發是一個障礙,因為在很多情況下不需要這樣做

我不是100%肯定會成功,但是我很好奇自己,認為我可能已經找到了解決方案。

如果您在不可變的字段上設置[ConcurrencyCheck]屬性,該怎么辦(在我的情況下,我使用的是ID(主鍵)。因為它永遠不會更改,因此永遠不會觸發並發異常,因此會破壞您的輸入。

旋轉一下,看看是否能解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM