【问题标题】:Adding data to a DB table with Linq to Entities (EDMX) if the table doesn't have a primary key?如果表没有主键,则使用 Linq to Entities (EDMX) 将数据添加到数据库表?
【发布时间】:2012-01-22 05:28:08
【问题描述】:

我正在尝试将数据添加到表中,而 linq 到实体会抛出异常:

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

我试图添加数据的表没有主键,如果我添加一列 int 并将其设置为主键,问题就消失了,但在纯粹主义者/强迫症的意义上,这个列是没有必要的

UserTable      UserGroup               GroupTable
ID Name        UserId GroupId          ID Name 

使用 Linq to Entities (EDMX) 向数据库表添加数据是否需要该表具有主键?

【问题讨论】:

    标签: .net sql linq-to-entities edmx


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-12
      • 1970-01-01
      • 2022-08-04
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多