【问题标题】:EF Error - Unable to update the EntitySet because it has a DefiningQueryEF 错误 - 无法更新 EntitySet,因为它有一个 DefiningQuery
【发布时间】:2012-11-30 07:50:57
【问题描述】:

我已从表中删除 PrimaryKey,刷新了 EDMX,现在在执行 db.SaveChanges() 时收到此错误消息:

无法更新 EntitySet 'Results',因为它有一个 DefiningQuery 并且元素中不存在支持当前操作的元素。

现在... 1 - 我不希望 PrimaryKey 在我的表中。该表只是一袋值,不需要PK。 2 - 我阅读了另一篇文章,其中有人建议从 EF 生成的 EDMX 中删除 DefiningQuery 元素。它不起作用,我避免手动更改自动生成的 EDMX。

知道如何避免这个错误,并且不在我的表中定义 PK 吗?

谢谢。

【问题讨论】:

    标签: entity-framework


    【解决方案1】:

    在实体框架中,所有东西都必须有一个键,至少在模型中是这样。您可以从数据库中删除它,但您仍然必须在模型中定义一个键,这可能是一个复合键以确保它是唯一的。否则 EF 将无法正确实现或保存对象。

    但是,无论如何我都会在表中使用主键。里面有一个标识字段一点也不麻烦,而且您不必担心自己找到一个唯一的字段组合。我无法想象该表不需要某种身份概念,或者它真的可以有两个完全相同的行吗?

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2011-01-31
      • 2023-04-07
      • 2010-12-08
      • 1970-01-01
      • 2013-02-25
      相关资源
      最近更新 更多