代码
foreach (var item in _context.Duiven.
.Include(p => p.Duivenmelker.VoedselInstelling)
.Include(p => p.VoedselHistoriek)
.Include(p => p.Duivenmelker.Personeel)
.Include("Ziektes.DuifZiekte")
.ToList() // 25.000)
{
item.FoodHistory();
item.HealthSimulation();
item.DiseaseSimulation(diseaseTypes);
item.CureSimulation(_context);
item.DeathSimulation();
item.Feed();
}
_context.SaveChanges()
问题
上面的代码通过 aprox 循环。25000 项。它更新这些对象上的各种东西(这个过程大约需要10分钟)问题在于将所有这些更改保存到数据库中,这需要将近2个小时。
它可能会一一更新(sql)每个更改?(这是 sql azure)该过程还包括删除 25000 条记录和插入 25000 条新记录(4 个整数)
我通过包含很多需要的内容减少了对数据库的调用。但我发现这不是过程,而是需要这么长时间的节省:S
问题
[更新记录中的所有值]和[删除当前值并插入新值]之间的性能有区别吗?
我该如何改进将其保存到数据库中?像 10 分钟而不是 160m ?