【发布时间】:2015-08-07 23:06:17
【问题描述】:
我有一个带有“Equipment”表和一个名为“EquipmentStatuses”的视图的数据库,它执行一些复杂的操作来将“Equipment”表中的每个条目与另一个表中的某个聚合值相关联,并返回一个简单的 2 列视图,其中包含EquipmentId 和计算值。
我已将“设备”表映射到设备实体,并创建了一个额外的标量字段,该字段映射到视图中的计算字段。当我从数据库中检索记录时一切正常,但是当我尝试插入或更新设备表时,我从实体框架中收到错误:
Unable to update the EntitySet 'EquipmentStatuses' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.
似乎实体框架试图在视图中插入一些东西,但失败了,因为我实际上并没有告诉 EF 如何做到这一点。但是,视图中的单个字段不需要更新,因为它是从另一个表中自动计算的。
有没有办法告诉实体框架忽略视图并只更新设备表而不编写各种样板插入/更新/删除存储过程?
我将 EF6 与 SQL Server 数据库一起使用。
【问题讨论】:
标签: c# sql-server entity-framework