當我嘗試更改外鍵時正在生成此錯誤。 我知道這是一個非常常見的錯誤,我發現了大量的關於它的信息並試圖實現我找到的修復程序,但在嘗試更新密鑰時仍然出現此錯誤。 Reference ThreadLINQ to SQL ForeignKeyReferenceAlreadyHasValueException錯誤
本來我只是直接分配值而不是試圖映射實體。
ticket.assigned_to_group = assigned_to
我已經改變了嘗試和映射的實體,我相信正確的答案;但是我仍然得到錯誤。
ticket.assigned_to_group = db.sub_units.Single(f => f.id == assigned_to).id;
任何想法爲什麼這不起作用。另外,如果我有一個包含多個外鍵的表,我是否真的需要爲每個鍵做一個新的查詢,還是有更好的方法?
啊你是對的我還在試圖給ID分配一個新的值而不是分配實體。 This now works: t.sub_unit = db.sub_units.Single(f => f.id == assigned_to) – Tim
這個(在我的情況下)只是一個問題,當Id不可爲空時,通過僅分配更新可空的ID一個新的ID工作正常。爲什麼會這樣? – CRice
你不要指定ParentId。唯一需要的任務是實體。 –