您好我收到以下错误:
AcceptChanges无法继续,因为对象的键值发生冲突 与ObjectStateManager中的另一个对象。确保 在调用AcceptChanges之前,键值是唯一的。
现在我正在尝试解决这个问题,但我需要确定哪个实体给我带来了麻烦,所以我知道在哪里看。
我知道错误是什么,我知道如何解决它,但我不知道如何找出哪个实体是双重的。
答案 0 :(得分:2)
您可以检查ObjectStateManager以获取所有已修改的实体。代码是这样的:
var lst = context.ObjectStateManager
.GetObjectStateEntries(EntityState.Added |
EntityState.Modified |
EntityState.Deleted);
var res = lst.GroupBy(c => c.EntityKey).Where(c=> c.Count() > 1);