我需要在一個請求中刪除並添加具有相同主鍵值的實體,任何人都可以向我推薦解決方案嗎?實體框架:在一個請求中刪除並添加具有相同密鑰的實體
以下是我的示例代碼,其中給出了錯誤:違反PRIMARY KEY約束'PK_Table'。不能在對象'dbo.Table'中插入重複鍵。
context.Set<Entity>().Attach(existingEntityObj);
Entry(existingEntityObj).State = EntityState.Deleted;
context.Set<Entity>().Add(newEntityObj);
context.Entry<Entity>(newEntityObj).State = EntityState.Added;
context.SaveChanges();
假設兩個物體(existingEntityObj和newEntityObj)具有在主鍵屬性相同的值。
在此先感謝!
你將不得不放棄主鍵約束,刪除你的實體,添加你的實體,並添加主鍵約束。但是,當FK引用它時,您不能刪除主鍵約束。你在做什麼聽起來像一個壞主意。你能不能用新對象的數據修改現有的對象? – Pakman