1
我要插入的對象具有父對象作爲導航屬性。使用EF插入行時違反唯一鍵約束4
當我「添加」插入它的對象時,它還將我父對象(已插入)的ObjectStateManager
設置爲Added
並嘗試插入它。我已經在SQL Profiler中對它進行了驗證,從而引發了唯一密鑰違例的例外。
我在兩個方面
- 擺脫這個加我設定的目標之前,所有的導航屬性設置爲null
- 設置父對象的
ObjectStateManager
至Modified
。
但是,這似乎更像是一種解決方案。我相信Entity Framework必須有一些優雅的解決方案。
請提出建議。
是否有任何簡單的方法(單步)爲所有現有實體設置修改/不變狀態。而不是一個接一個地去做導航屬性.. – MegaMind 2012-07-11 08:44:34
不可以,但是你可以通過附加整個圖形並將添加的實體更改爲新增狀態來使用反向操作,但它可能會導致添加關係時出現一些問題。 – 2012-07-11 08:50:09