无法更新EntitySet‘TableB’,因为它有一个DefiningQuery,并且元素中没有支持当前操作的元素
TableA
int idA (identity, primary key)
...
TableB
int idA (FK for TableA.idA)
int val
表B在SQL服务器中没有定义的主键。实体框架导入了表和关联,并将这两个字段设置为键。但是,当我尝试在表中插入时,它将输出该错误!
编辑:正如亚历克斯所建议的,解决办法是:
我保留了原来的键,因为这两个列都是键的一部分,这对我来说是可以的。
发布于 2018-03-27 10:19:36
当遇到一个没有PrimaryKey的表时,它被视为一个视图。
视图显示在StorageModel\EntitySet中的EDMX文件中(在XML编辑器中打开以查看)。n\DefiningQuery元素
当您有一个DefiningQuery时,除非添加修改函数,否则该实体就变成只读的。需要3个修改函数(也就是存储过程),一个用于插入、更新和删除。
但你有两个选择:
更改关键定义:
发布于 2018-03-27 11:47:06
只需向表中添加主键即可。。
ALTER TABLE <TABLE_NAME>
ADD CONSTRAINT <CONSTRAINT_NAME> PRIMARY KEY(<COLUMN_NAME>)
https://stackoverflow.com/questions/-100007803
复制相似问题