如果表没有主键,是否使用 Linq to Entities (EDMX) 将数据添加到数据库表?

发布于 2024-12-28 13:04:43 字数 405 浏览 1 评论 0 原文

我正在尝试将数据添加到表中,并且 linq toEntity 抛出异常:

无法更新 EntitySet“XXXX”,因为它具有 DefiningQuery 并且 中不存在任何元素 支持当前的元素 操作。

我尝试添加数据的表没有主键,如果我添加一列 int 并将其设置为主键,问题就会消失,但从纯粹/强迫症的角度来看,该列是不必要的

UserTable      UserGroup               GroupTable
ID Name        UserId GroupId          ID Name 

将数据添加到使用 Linq to Entities (EDMX) 的数据库表需要该表具有主键吗?

I'm attempting to add data to a table and linq to entities throws an excpetion with:

Unable to update the EntitySet 'XXXX' because it has a DefiningQuery
and no element exists in the
element to support the current
operation.

The table I'm trying to add data has no primary key and if I add a column of int and set it as primary key, the problem goes away, but in a purist/OCD sense, this column is not necessary

UserTable      UserGroup               GroupTable
ID Name        UserId GroupId          ID Name 

Does adding data to a DB table with Linq to Entities (EDMX) require that the table have a primary key?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十年不长 2025-01-04 13:04:43

您可以手动编辑生成的 .edmx 文件,查找错误字符串并更正它们。事实证明,EF 确实需要每个表都有一个主键(这不是多对多关系)。

有关没有主键的表以及为什么 EF 认为它是错误的更多信息:http://www.i-think22.net/archives/2009/07/24/linq-to-sql-and-tables-with-no-primary-key/

You can manually edit the generated .edmx file, look for Error strings and correct them. It turns out that EF does need a primary key for every table (which is not a many-to-many relationship).

More on tables without primary keys and why it is considered wrong to EF: http://www.i-think22.net/archives/2009/07/24/linq-to-sql-and-tables-with-no-primary-key/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文