我在EF上嘗試執行SaveChanges()
時收到了唯一的約束違規。實體框架6 SaveChanges導致唯一約束異常
有兩欄,分別爲ID
和Order
。唯一的約束是在這兩列上。
我正在更新訂單(交換兩個值)。
但是,當我做SaveChanges()
我得到一個DBUpdateExcception
說我違反了獨特的約束 - 但我沒有! 我剛換了訂單。
Name | ID | Order
BH | 49 | 1
JK | 49 | 2
所以在代碼中,它現在看起來像這樣(我已經檢查調試器中的EF)
Name | ID | Order
BH | 49 | 2
JK | 49 | 1
正如我雖然說,當我做SaveChanges()
我得到一個異常。
我不知道我的模型在visual studio 2015中是否存在問題(必須設置屬性或其他內容以允許更新?)。這個問題在我看來是「它」沒有正確地進行更新。
感謝任何幫助!
發佈您的實際C#代碼,如模型和保存更改 –
如果我正確地理解這是不可能的。請參閱[這裏](https://social.msdn.microsoft.com/Forums/en-US/e483f98e-085b-46ba-b748-6e1614558efc/updating-the-entity-primary-key?forum=adodotnetentityframework)。正如答案中所述,可以刪除舊的實體並讀取新的實體,但這取決於您的數據庫關係結構。 – ieaglle
@CallumLinington對不起,我在發佈時無法訪問我的代碼 - 不得不在午餐和記憶中嘗試。 – Yabbie