我碰到一個EF6紀錄克隆與關係
Context
.MyRepo
.Include(p => p.MyRelation)
.AsNoTracking()
.SingleOrDefault(p => p.Uuid == recordUuid);
的EF6記錄然後我嘗試插入的副本記錄zith
myRecord.Uuid = Guid.NewGuid();
myRecord.EntityKey = new System.Data.EntityKey("modelqualifiedname", "Id", 1726526);
Context.MyRepo.AddObject(myRecord);
Context.SaveChanges();
但它失敗,此消息
「ObjectStateManager中已存在具有相同鍵的對象 ObjectStateManager無法跟蹤多個對象同樣的 關鍵。「
我試圖設置EntityKey
到null
,就像它是一個新的記錄;但它沒有幫助。任何想法?
這聽起來像他們的重複PK的地方。你有沒有試過在你的數據庫中通過鍵1726526做一個where子句? –
是的;現有的最高密鑰是DB中的101626 – MaPi
我認爲由於子對象而導致錯誤,因此應該嘗試爲每個子對象設置一個新密鑰。 – hazimdikenli