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