EF错误 - 无法更新EntitySet,因为它具有DefiningQuery

时间:2012-12-12 15:09:12

标签: entity-framework

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

无法更新EntitySet“结果”,因为它有一个DefiningQuery,元素中不存在支持当前操作的元素。

现在... 1 - 我不想在我的桌子上使用PrimaryKey。该表只是一包价值,不需要PK。 2 - 我读了另一篇帖子,有人建议从EF生成的EDMX中删除DefiningQuery元素。它不起作用,我避免手动更改自动生成EDMX。

知道我怎么能避免这个错误,而不是在我的表中定义PK?

感谢。

1 个答案:

答案 0 :(得分:0)

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

但是,无论如何我会在表格中使用主键。拥有一个身份字段并不是一件麻烦事,你不必担心自己找到一个独特的字段组合。我无法想象这个表不需要一些身份概念,或者它真的有两个完全相同的行吗?