如何使用对象上下文在Entity Framework中进行批量插入?

3
我希望使用ObjectContext而不是DbContext在Entity Framework 6中调用批量插入。我该怎么做?
我想要做的事情类似于:
只读的ObjectContext obContext:
public void BulkInsert<T>(IEnumerable<T> items) where T : class, new()
{
    obContext.BulkInsert(items);
}

但是我无法做到这一点。
2个回答

0

使用Entity Framework 6,您可以使用这个不错的NuGet包进行批量插入,并且可以与DbContext对象一起使用。

就像这样:

using (var db = new YourDbContext())
{
   EFBatchOperation.For(db, db.BlogPosts).InsertAll(list);
}

https://github.com/MikaelEliasson/EntityFramework.Utilities

希望这能有所帮助。

3
问题是关于ObjectContext的,不是吗? - Anders Lindén
不适用于问题中请求的 ObjectContext。 - pfeds

0
使用Entity Framework 6,您可以插入一系列元素。
例如,我添加了一个模型Customer
public class Customer
{
  public int Id {get; set;}
  public string CustomerName {get;set;}
  public string City {get;set;}
}

如果我从视图中发送客户列表,就像模型列表(List)一样,我可以保存一系列数据,例如:
public ActionResult AddCustomerData(List<Customer> cust)
{
  try
  {
    using(var db = new DBContext)
    {
      db.customer.AddRange(cust);
      db.SaveChanges();
    }
  }
  catch(exception ex)
  {
  }
}

这样,您可以将批量/范围数据添加到数据库中,在添加之前,如果需要,还可以修改数据。谢谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接