1
插入另一張請考慮下面的代碼:刪除的對象,並使用相同的密鑰
var tmpCurrentRecord = ent.Mytbl.Where(o => o.ID == CurrentRecord.ID).First();
ent.ObjectStateManager.ChangeObjectState(tmpCurrentRecord, System.Data.EntityState.Deleted);
ent.Mytbl.DeleteObject(tmpCurrentRecord);
ent.Mytbl.AddObject(NewRecord);
ent.SaveChanges();
我想重置列的具體record.Because值此列的數量大約是70列,我想刪除使用相同的主鍵錄製並重新插入。但我得到這個錯誤:
An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key.
我該如何解決這個問題?
你發佈你的修改到實際的數據庫(指數等更新少)?我不是100%確定,但我認爲你*標記*它刪除。只要您不保存這些更改,技術上仍存在記錄。 –
您是否嘗試過兩次調用SaveChanges()?一旦刪除後,第二次插入後。這可能會解決問題.. –
@PetrAdam不,我稱之爲一次 – Arian