";..更新对象上下文时出错.ObjectContext可能处于不一致的状态&”;

本文关键字:不一致 状态 ObjectContext 更新 quot 对象 上下文 出错 | 更新日期: 2023-09-27 18:24:09

在我的应用程序中,我有一个从代码中调用的方法,它为数据库播种,这很好。

我刚刚创建了一个新的大方法,它还向数据库添加了更多的数据。

当我调用它时,它在第一次运行时似乎工作得很好,但是,如果我在前一次尝试的几分钟内再次运行它,我会得到以下错误:

已成功提交对数据库的更改,但出现错误更新对象上下文时发生。ObjectContext可能是处于不一致的状态。内部异常消息:AcceptChanges无法继续,因为对象的键值与另一个键值冲突对象。确保键值在调用AcceptChanges之前是唯一的。

我不确定如何解决这个问题,有人能给我什么建议吗?(除了不要在最后一次尝试后的几分钟内运行此操作!)。

";..更新对象上下文时出错.ObjectContext可能处于不一致的状态&”;

当您试图将主键(组合键)定义不好的实体模型保存在数据库中时,通常会出现此错误。

在EntityTypeConfiguration文件中定义密钥,如

this.HasKey(f => new { f.ID1, f.ID2 });

的可能重复

  • 在.NET实体框架中调用SaveChanges时出现InvalidOperationException
  • 使用实体框架自动编号

以下是关于使用自跟踪实体和对象状态管理器的有用链接

  • http://msdn.microsoft.com/en-us/library/bb896269.aspx
  • http://msdn.microsoft.com/en-us/library/ff407090.aspx