0
我必须对多个表(大约30个表)执行批量插入(大约50-100行),其中一些表与其中一些表是相互关联的外键。 我想通过使用实体框架(EF)来做到这一点。 但我想这发生与最小数据库命中,而不是调用每个表的context.SaveChanges()。 EF有什么方法可以执行此操作吗?如果是这样,请让我知道。 在此先感谢!如何使用实体框架执行批量插入到与外键相关的多个表中
我必须对多个表(大约30个表)执行批量插入(大约50-100行),其中一些表与其中一些表是相互关联的外键。 我想通过使用实体框架(EF)来做到这一点。 但我想这发生与最小数据库命中,而不是调用每个表的context.SaveChanges()。 EF有什么方法可以执行此操作吗?如果是这样,请让我知道。 在此先感谢!如何使用实体框架执行批量插入到与外键相关的多个表中
Entity Framework
不提供Bulk
功能。
对于想要保存的每一行,都需要数据库往返。
免责声明:我的Entity Framework Extensions
该库是不是免费的主人,但可以让你执行BulkSaveChanges
这工作就像SaveChanges
但速度更快:
例
// Easy to use
context.BulkSaveChanges();
// Easy to customize
context.BulkSaveChanges(bulk => bulk.BatchSize = 100);
// Perform Bulk Operations
context.BulkDelete(customers);
context.BulkInsert(customers);
context.BulkUpdate(customers);
// Customize Bulk Operations
context.BulkInsert(customers, options => {
options => options.IncludeGraph = true;
});
context.BulkMerge(customers, options => {
options.ColumnPrimaryKeyExpression =
customer => customer.Code;
});
https://stackoverflow.com/questions/5940225/fastest-way-of-inserting-in-entity-framework –
不可能在没有看到代码中的实际情况下回答这个问题。 –
这里有一个样本案例.. –