Pal*_*tir 123 asp.net entity-framework
这件事让我发疯,这个错误对我来说毫无意义:
无法更新EntitySet'TableB',因为它具有DefiningQuery,并且元素中不存在支持当前操作的元素.
我的表格是这样的:
TableA int idA (identity, primary key) ... TableB int idA (FK for TableA.idA) int val
TableB在SQL Server中没有定义的主键.实体框架已导入表和关联,并将两个字段都设置为键.但是当我尝试插入表格时它会输出错误!
怎么了??
编辑: 正如亚历克斯所建议的,解决方案是:
我把钥匙保留原样,因为对我来说两列都是钥匙的一部分是可以的.
Ale*_*mes 141
当遇到没有PrimaryKey的表时,它被视为View.
并且视图显示在StorageModel\EntitySet [n]\DefiningQuery元素的EDMX文件中(在XML编辑器中打开以查看).
当你有一个DefiningQuery时,除非你添加修改函数,否则实体会变为只读.您需要3个修改函数(也称为存储过程),每个函数对应一个插入,更新和删除.
但是你有两个选择:
改变关键定义:
在你的情况下,我建议(1).
小智 13
只需向表中添加主键即可.而已.问题解决了.
ALTER TABLE <TABLE_NAME>
ADD CONSTRAINT <CONSTRAINT_NAME> PRIMARY KEY(<COLUMN_NAME>)
Run Code Online (Sandbox Code Playgroud)
我在桌子上丢失了一个主键,并收到此错误消息.我注意到的一件事是在我将密钥添加到表后,我需要使用设计器清除edmx中的表,保存edmx,然后再次更新它以重新添加表.它没有拿起密钥因为它已被指定为视图.这不需要手动编辑edmx.
| 归档时间: |
|
| 查看次数: |
69466 次 |
| 最近记录: |