【问题标题】:Error when editing an entity with EF Code First使用 EF Code First 编辑实体时出错
【发布时间】:2012-09-10 03:26:00
【问题描述】:

尝试先使用 EF 代码编辑实体时出现此错误:

发生了参照完整性约束违规:属性 定义引用约束的值不一致 关系中的主体对象和依赖对象之间的关系。

我的实体是与状态有关系的生产者。我的编辑代码如下:

Producer producer = this.DataContext as Producer;
context.Producers.Attach(producer);
context.Entry(producer).State = EntityState.Modified;
context.SaveChanges();

【问题讨论】:

  • Producer引用的其他实体有哪些?
  • @Eranga Producer 有一个 State(可选),也有很多 Product。但我找到了解决方案并回答了我的问题。

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


【解决方案1】:

我找到了解决方案。我使用下面的代码,它工作正常,但我仍然不确定它是否是最好的方法。

Producer producer = this.DataContext as Producer;
Producer p = context.Producers.Find(producer.Id);
context.Entry(p).CurrentValues.SetValues(producer);
context.SaveChanges();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2011-10-26
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多