实体框架 6 - 仅将一个语句映射到存储过程
本文关键字:一个 语句 映射 存储过程 框架 实体 | 更新日期: 2023-09-27 18:33:56
我正在映射一个实体以插入到存储过程,如下所示:
modelBuilder
.Entity<Member>()
.MapToStoredProcedures(s =>
s.Insert(u => u.HasName("stp_insert_member")));
插入效果很好,当我保存新成员时将所有参数传递给存储过程。
但是当我尝试更新成员(按 id 从 db 加载实体、更改其属性并再次保存 - 将发出 update 语句)时会发生什么是我得到异常,因为它正在寻找名为 Member_Update
的存储过程。
但是对于这个(和删除),我不想有存储过程。我只想为 insert 语句执行一个存储过程。
是否可以仅将 EF 映射到插入操作的存储过程?
可悲的是,要么全有,要么全无。
实体框架 - 文档:
不能对给定实体(或实体层次结构)混合使用存储过程和直接表访问。插入、更新和删除操作必须全部使用直接表访问或存储过程。