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

时间:2012-01-22 05:28:08

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

我正在尝试将数据添加到表中,linq向实体抛出一个激活:

  

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

我正在尝试添加数据的表没有主键,如果我添加一列int并将其设置为主键,问题就会消失,但在纯粹/ OCD意义上,此列不是必需的< / p>

UserTable      UserGroup               GroupTable
ID Name        UserId GroupId          ID Name 

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

1 个答案:

答案 0 :(得分:1)

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

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