Entity Framework核心种子来自文件的大数据

时间:2018-06-01 16:47:41

标签: entity-framework asp.net-core

在EF Core 2.1中,我可以通过这种方式播种数据:

modelBuilder.Entity<Company>().HasData(
  new Company {.....},
  new Company {.....});

但我需要播种一个包含大量行(约70k)的文本文件。 你建议我做什么?

提前致谢

2 个答案:

答案 0 :(得分:2)

此文本文件中的数据是什么格式?

如果是JSON,你可以这样做:

var companies = new List<Company>();
using (StreamReader r = new StreamReader(@"C:\temp\data.json"))
{
    string json = r.ReadToEnd();
    companies = JsonConvert.DeserializeObject<List<Company>>(json);
}

foreach(var company in companies)
    dbContext.Companies.Add(company);

dbContext.SaveChanges();

答案 1 :(得分:-1)

好的,这是一个很好的解释:Parsing Tab delimited text files

只需在每个“记录”后将插入内容添加到数据库中。