我正在使用EF和存储过程进行数据修改操作。到目前为止,我已经能够将存储过程映射到一行(实体)的基本操作,如插入,更新和删除。
但是,我还要映射AddRange
。我需要一个专门的存储过程来执行此操作,它对我来说不起作用,EF调用我的添加存储过程n次。我希望它一次调用我的AddRange
存储过程。
我还希望将另一个常见任务映射为Clear
,但目前AddRange
是我的首要任务。这种映射在EF中是否可行?如果没有,这是否有意义添加或我正在寻找错误的方向?
答案 0 :(得分:0)
我假设你在谈论AddRange
这是DbSet
的扩展方法。
您无法将商店流程映射到AddRange
或Clear
,因为这些方法只是准备实体,在调用SaveChanges
之前不会将任何内容添加到数据库中。
如果您需要使用一个db调用添加多个记录,可以像这样调用它而不是DbSet
public class Context : DbContext
{
public void AddList()
{
this.Database.SqlQuery<YourEntityType>("storedProcedureName",params);
}
}