我已从表中删除了PrimaryKey,刷新了EDMX,现在我在执行db.SaveChanges()时收到此错误消息:
无法更新EntitySet“结果”,因为它有一个DefiningQuery,元素中不存在支持当前操作的元素。
现在... 1 - 我不想在我的桌子上使用PrimaryKey。该表只是一包价值,不需要PK。 2 - 我读了另一篇帖子,有人建议从EF生成的EDMX中删除DefiningQuery元素。它不起作用,我避免手动更改自动生成EDMX。
知道我怎么能避免这个错误,而不是在我的表中定义PK?
感谢。
答案 0 :(得分:0)
在实体框架中,一切都必须有一个键,至少在模型中。您可以从数据库中删除它,但仍然需要在模型中定义一个键,它可以是一个复合键,以确保它是唯一的。否则EF将无法正确实现或保存对象。
但是,无论如何我会在表格中使用主键。拥有一个身份字段并不是一件麻烦事,你不必担心自己找到一个独特的字段组合。我无法想象这个表不需要一些身份概念,或者它真的有两个完全相同的行吗?