EF + SqlServer 表没有常规主键,无法更新 EntitySet

Posted lnVC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF + SqlServer 表没有常规主键,无法更新 EntitySet相关的知识,希望对你有一定的参考价值。

错误描述:

1. U811.1 SqlServer数据库CurrentStock表,没有常规主键,对接系统时使用EF Code First提示:

生成过程中发现错误:
警告 6002: 表/视图“***.dbo.CurrentStock”未定义主键。已推断出该键,并将定义创建为只读的表/视图。

2. 调用EF处理材料出库时,提示:

无法更新 EntitySet“CurrentStock”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 <UpdateFunction> 元素。

 

解决方法:

在edmx文件中找到CurrentStock的EntitySet节点,将节点内的DefiningQuery内容删除

以上是关于EF + SqlServer 表没有常规主键,无法更新 EntitySet的主要内容,如果未能解决你的问题,请参考以下文章

sql 获取当前插入的主键 表主键是guid类型的

如何修改sql server主键自动增长

无法在EF Code First中创建复合主键

EF生成实体模型注意事项

sql(sqlserver) join 的表是否必须有主键?

ado.net entity framework无法更新数据库