C# 实体框架6-仅将一条语句映射到存储过程
我正在将要插入的实体映射到存储过程,如下所示:C# 实体框架6-仅将一条语句映射到存储过程,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我正在将要插入的实体映射到存储过程,如下所示: modelBuilder .Entity<Member>() .MapToStoredProcedures(s => s.Insert(u => u.HasName("stp_insert_member"))); modelBuilder .实体() .MapToStoredProcess(s=> s、 插入(u=>u.HasName(“stp_插入成员”); 当我保存新成员时,inse
modelBuilder
.Entity<Member>()
.MapToStoredProcedures(s =>
s.Insert(u => u.HasName("stp_insert_member")));
modelBuilder
.实体()
.MapToStoredProcess(s=>
s、 插入(u=>u.HasName(“stp_插入成员”);
当我保存新成员时,insert非常有效,并将所有参数传递给存储过程
但是,当我尝试更新成员(按id从db加载实体,更改其属性,然后再次保存-将发出update语句)时,会出现异常,因为它正在查找名为member\u update
的存储过程
但对于这一点(以及delete),我不希望有存储过程。我只想为insert语句执行一个存储过程
我可以将EF映射到一个存储过程来执行插入操作吗?遗憾的是,要么全是,要么什么都没有 : 对于给定实体(或实体层次结构),不能混合使用存储过程和直接表访问。插入、更新和删除操作都必须使用直接表访问或存储过程
@换言之,格塔诺尔德——不可能?没有太多的解释空间:)。我只想为添加和删除创建sp。@GertArnold不是这样优雅的解决方案。在这种情况下,听起来使用micro orm更好