EF中报错:附加类型“xxxx”的实体失败,因为相同类型的其他实体已具有相同的主键值。
生活随笔
收集整理的這篇文章主要介紹了
EF中报错:附加类型“xxxx”的实体失败,因为相同类型的其他实体已具有相同的主键值。
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
報錯全文:
附加類型“Model.DepartProduct”的實體失敗,因為相同類型的其他實體已具有相同的主鍵值。在使用 "Attach" 方法或者將實體的狀態(tài)設(shè)置為 "Unchanged" 或 "Modified" 時如果圖形中的任何實體具有沖突鍵值,則可能會發(fā)生上述行為。這可能是因為某些實體是新的并且尚未接收數(shù)據(jù)庫生成的鍵值。在此情況下,使用 "Add" 方法或者 "Added" 實體狀態(tài)跟蹤該圖形,然后將非新實體的狀態(tài)相應(yīng)設(shè)置為 "Unchanged" 或 "Modified"。
報錯原因用通俗的話來講就是:
在上下文中,查詢過這個實體,再這樣放一個new的ID一樣的新實體進(jìn)去更新或者刪除,就會有2個相同ID的對象,然后就報異常了。
沒想到什么好的辦法,目前的解決方案是不再放一個New的ID一樣的實體,而是通過在原先查詢出來的實體找出需要進(jìn)行 刪除或者 更新 的數(shù)據(jù)進(jìn)行操作。
總結(jié)
以上是生活随笔為你收集整理的EF中报错:附加类型“xxxx”的实体失败,因为相同类型的其他实体已具有相同的主键值。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 子网划分,主机号,网络号计算
- 下一篇: 新建Mybatis工程