1

嗨,我收到以下错误:

AcceptChanges 无法继续,因为对象的键值与 ObjectStateManager 中的另一个对象冲突。在调用 AcceptChanges 之前确保键值是唯一的。

现在我正在尝试修复它,但我需要查明是什么实体给我带来了麻烦,所以我知道去哪里找。

我知道错误是什么并且我知道如何解决它,但我不知道如何找出哪个实体是双重的。

4

1 回答 1

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);
于 2013-02-12T14:35:48.133 回答