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

我正在使用.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>元素以支持当前操作。


我正在对上下文进行大量更新而没有任何问题,只有当我尝试更新此特定实体时才会这样做。


我所有的搜索都显示了同样的事情,即我正在尝试更新的实体上没有声明主键。但是,我确实有一个主键声明...


萧十郎
浏览 804回答 3
3回答

HUH函数

通常是因为以下原因之一:实体集从数据库视图映射自定义数据库查询数据库表没有主键执行此操作后,您可能仍需要在停止获取错误之前在Entity Framework设计器中更新(或者删除实体然后添加它)。

陪伴而非守候

只需向表中添加主键即可。而已。问题解决了。ALTER&nbsp;TABLE&nbsp;<TABLE_NAME>ADD&nbsp;CONSTRAINT&nbsp;<CONSTRAINT_NAME>&nbsp;PRIMARY&nbsp;KEY(<COLUMN_NAME>)
打开App,查看更多内容
随时随地看视频慕课网APP