我开始使用EFCore.BulkExtensions进行ef大容量操作,它运行得非常好。
(见https://github.com/borisdj/EFCore.BulkExtensions/)
我是否也需要打电话到SaveChanges:
using (var db = new ReportingContext())
{
db.BulkInsertOrUpdate(entities);
db.SaveChanges();
}还是这个足够好?
using (var db = new ReportingContext())
{
db.BulkInsertOrUpdate(entities);
}发布于 2018-09-05 09:35:23
链接中的页面包含以下内容
在外壳下使用SqlBulkCopy进行插入,因为更新/删除将BulkInsert与原始Sql 合并 (MsSQL 2008+)结合起来。
所以答案是否定的,您不需要调用SaveChanges,因为EFCore.BulkExtensions直接与数据库(SqlServer)一起工作。您传递的实体甚至可能不会附加(跟踪)到上下文。它只使用上下文获取实体模型元数据和连接/事务信息。
https://stackoverflow.com/questions/52179705
复制相似问题