【问题标题】:"... an error occured while updating the object context. The ObjectContext might be in an inconsistent state...."“......更新对象上下文时发生错误。ObjectContext 可能处于不一致状态......”
【发布时间】:2012-03-04 11:00:29
【问题描述】:

在我的应用程序中,我有一个从代码中调用的方法,该方法为数据库提供种子,并且工作正常。

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

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

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

我不确定如何解决这个问题,有人可以提供任何建议吗? (除了不要在最后一次尝试的几分钟内运行它!)。

【问题讨论】:

  • @Eranga - 我已经阅读了该内容,但是,我无法解决该问题或使用该解决方案解决此问题。
  • 如果不深入了解相关类(至少是 PK 和 FK 属性),很难回答。
  • @HenkHolterman 这就是我所担心的 :( 代码很大,我不确定错误在哪里......我认为人们不会想通读这一切!.. . 我会去的!
  • @Wil 你能弄清楚发生了什么吗?

标签: c# entity-framework-4.1 ef-code-first


【解决方案1】:

当您尝试保存尚未像在数据库中一样定义好的主键(复合键)的实体模型时,通常会发生此错误。

在 EntityTypeConfiguration 文件中定义键,如

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

【讨论】:

    【解决方案2】:

    【讨论】:

    • 可能“应该是评论”。
    猜你喜欢
    • 1970-01-01
    • 2020-01-27
    • 2017-05-13
    • 1970-01-01
    • 2014-10-22
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多