我想使用AddRange方法創建一個批量插入到我的數據庫。EF6:AddRange拋出異常
這是我做的:
public virtual IEnumerable<E> InsertRange(IEnumerable<E> entities)
{
Context.Set<E>().AddRange(entities);
if (isAutoSave)
Context.SaveChanges();
}
當我打電話調用SaveChanges()我得到一個異常說:
Conflicting changes detected. This may happen when trying to insert multiple entities with the same key.
我想問題可能是在我的模型。我的Id列是PK和Identity,它的類型爲int,這會導致所有新實體的Id = 0。我能做些什麼來解決這個問題?
感謝, 馬坦
你是怎麼產生你顯示的錯誤信息的? –
我更新了我的文章 –
如果它們是數據庫中不存在的新對象,則每個對象的Id都應爲零。這會通知Entity Framework這些對象是新的,並且在插入數據庫時需要分配一個非零ID。我懷疑你的模型可能存在一個不同的問題。你能否提供你試圖插入的對象類的代碼? – Chase