我正在映射一个实体插入存储过程,如下所示:
modelBuilder
.Entity<Member>()
.MapToStoredProcedures(s =>
s.Insert(u => u.HasName("stp_insert_member")));
插入工作很好,并在保存新成员时将所有参数传递给存储过程.
但是当我尝试更新成员(通过id从db加载实体,更改它的属性,再次保存 – 将发出更新语句的内容)时会发生什么?我得到一个例外,因为它正在查找名为Member_Update的存储过程.
但对于那个(以及删除),我不想拥有存储过程.我只想为insert语句执行存储过程.
我可以将EF映射到存储过程以仅执行插入操作吗?
最佳答案 可悲的是,它是全有或全无.
Entity Framework – Documentation:
You cannot use a mixture of stored procedures and direct table access for a given entity (or entity hierarchy). The insert, update and delete operations must all use direct table access or stored procedures.