为了账号安全,请及时绑定邮箱和手机立即绑定

无法更新EntitySet - 因为它具有DefiningQuery并且不存在

无法更新EntitySet - 因为它具有DefiningQuery并且不存在

萧十郎 2019-08-30 14:32:22
我正在使用.net 3.5的Entity Framework 1。我做的事情很简单:var RoomDetails = context.Rooms.ToList();foreach (var Room in Rooms){           Room.LastUpdated = DateTime.Now;}我尝试这样做时收到此错误: context.SaveChanges();我收到错误:无法更新EntitySet - 因为它具有DefiningQuery并且<ModificationFunctionMapping>元素中不存在<UpdateFunction>元素以支持当前操作。我正在对上下文进行大量更新而没有任何问题,只有当我尝试更新此特定实体时才会这样做。我所有的搜索都显示了同样的事情,即我正在尝试更新的实体上没有声明主键。但是,我确实有一个主键声明...
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

通常是因为以下原因之一:

  • 实体集从数据库视图映射

  • 自定义数据库查询

  • 数据库表没有主键

执行此操作后,您可能仍需要在停止获取错误之前在Entity Framework设计器中更新(或者删除实体然后添加它)。


查看完整回答
反对 回复 2019-08-30
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

只需向表中添加主键即可。而已。问题解决了。

ALTER TABLE <TABLE_NAME>ADD CONSTRAINT <CONSTRAINT_NAME> PRIMARY KEY(<COLUMN_NAME>)


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 802 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信