实体框架AddRange:如何映射到存储过程?

时间:2017-08-08 11:52:33

标签: entity-framework stored-procedures

我正在使用EF和存储过程进行数据修改操作。到目前为止,我已经能够将存储过程映射到一行(实体)的基本操作,如插入,更新和删除。

但是,我还要映射AddRange。我需要一个专门的存储过程来执行此操作,它对我来说不起作用,EF调用我的添加存储过程n次。我希望它一次调用我的AddRange存储过程。

我还希望将另一个常见任务映射为Clear,但目前AddRange是我的首要任务。这种映射在EF中是否可行?如果没有,这是否有意义添加或我正在寻找错误的方向?

1 个答案:

答案 0 :(得分:0)

我假设你在谈论AddRange这是DbSet的扩展方法。

您无法将商店流程映射到AddRangeClear,因为这些方法只是准备实体,在调用SaveChanges之前不会将任何内容添加到数据库中。

如果您需要使用一个db调用添加多个记录,可以像这样调用它而不是DbSet

public class Context : DbContext
{

    public void AddList()
    {
        this.Database.SqlQuery<YourEntityType>("storedProcedureName",params);
    }
}