asp.net EF插入数据报错 Unable to update the EntitySet 'XXX' because it has a DefiningQuery。。。【已解决】...

刚接触EF,记录下学习时遇到的问题。

背景:

用EF做数据插入,调用SaveChanges时报错。

关键代码:

db.XXX.Add(new XXX { UserName = "张无忌", Password = "666666", Reamrk = "123" });
db.SaveChanges();

错误详情:

Unable to update the EntitySet 'XXX' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.

错误原因:

数据库目标表没有设置主键。

方案:

对目标表添加主键。

备注:

添加完主键之后重新运行程序,错误依旧,想起只修改了数据库,EF的实体类模型没有修改,双击XXX.edmx文件,以视图方式打开实体框架,视图界面右键选择从数据库更新模型,弹窗中选择刷新,然后选择刚刚修改的表,点击下面的完成,然后启动项目就可以正常执行SaveChanges了。

转载于:https://www.cnblogs.com/jusha/p/6993924.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值