在<ModificationFunctionMapping>元素中存在DefiningQuery和no <DeleteFunction>元素以支持当前操作

use*_*360 11 c# entity linq-to-sql

无法更新EntitySet'InstanceObjectName',因为它具有DefiningQuery并且元素中不存在任何元素以支持当前操作

tir*_*iru 25

确保你的表有一个主键!


Met*_*Man 4

实体框架不知道给定的视图是否可更新,因此它添加该元素以防止框架尝试针对不可更新的视图生成查询。

如果您的视图是可更新的,您只需从 .edmx 的 StorageModel 部分内的视图的 EntitySet 定义中删除该元素,正常的更新处理将像任何其他表一样工作。

如果您的视图不可更新,您将必须通过“修改函数映射”自行提供更新逻辑。修改函数映射调用 .edmx 的 StorageModel 部分中定义的函数。该函数可能包含数据库中存储过程的名称和参数,或者您可以使用“定义命令”,以便直接在 .edmx 的 StorageModel 部分内的函数定义中编写插入、更新或删除语句。

在这两个选项中,如果您的视图是可更新的(听起来可能是),最简单的肯定是删除设计者插入的视图。