使用单个SaveContext调用存储大量记录

时间:2017-10-16 09:51:56

标签: c# entity-framework

使用EntityFramework可以将任何记录的最大大小/数量添加到数据库表中,而在使用单个context.SaveChanges()之后没有问题吗?

想象一下,我们有一个实体:

public class DbEntity
{
    public int DbEntityId {get;set;}
    public decimal Value {get; set;}
    public string Text {get; set;}
}

现在我们想在数据库表中添加大量DbEntity项,例如:

var collection = new DbEntity[99999]; // data initialization ommited
context.DbEntities.AddRange(collection);

然后单打电话:

context.SaveChanges();

它应该没问题,或者我们应该将即将添加到数据库中的数据拆分并以块的形式处理它 - >

context.DbEntities.AddRange(collection.Take(1000));
context.SaveChanges();
context.DbEntities.AddRange(collection.Skip(1000).Take(1000));
context.SaveChanges();

等?

0 个答案:

没有答案