0

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

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

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

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

谢谢。

4

1 回答 1

0

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

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

于 2012-12-12T19:03:54.527 回答