EF核心很多很多关键副本

时间:2018-05-21 20:08:34

标签: c# many-to-many ef-core-2.0

在合并多个项目时,我遇到了关于重复键的问题。

我将实体密钥设置为

e => new { e.OwnerId, e.OwnedId }

要创建新项目,我使用以下代码:

var newItem = dbContext.Add(new Item()).Entity;
newItem.Owner = owner;
newItem.Owned = dbContext.OtherItems.Find(item.Id);

我是否因为设置实体的方式而获得重复键,因为我没有明确设置Ids(我只是设置了导航属性),因此每个新项的键都是{ OwnerId = 0, OwnedId = 0 }

或者我是否正在创建不正确的新项目?

否则,我如何检查重复密钥是什么,因为异常消息不指示哪些密钥是重复的以及哪种实体类型?

  

已添加具有相同键的项目。键:System.Object []

0 个答案:

没有答案