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了。

posted @ 2017-06-12 17:09  飞向狙沙  阅读(886)  评论(0编辑  收藏  举报