【发布时间】:2018-08-27 03:41:16
【问题描述】:
我正在研究用于批量操作的实体框架扩展,并从同一开发人员 EF Plus 中找到。现在EFE有付费的批量操作,EF PLus有Batch操作,声称只执行批量更新和删除,但被称为批量操作。那么EFE的批量操作和EF加批量操作有什么区别呢?
【问题讨论】:
标签: c# entity-framework-6 entity-framework-plus entity-framework-extensions
我正在研究用于批量操作的实体框架扩展,并从同一开发人员 EF Plus 中找到。现在EFE有付费的批量操作,EF PLus有Batch操作,声称只执行批量更新和删除,但被称为批量操作。那么EFE的批量操作和EF加批量操作有什么区别呢?
【问题讨论】:
标签: c# entity-framework-6 entity-framework-plus entity-framework-extensions
免责声明:我是项目的所有者Entity Framework Extensions
免责声明:我是项目的所有者Entity Framework Plus
称为Bulk Operation 和Batch Operation 的方法之间存在巨大差异。
Bach 操作在数据库中执行操作,而不在上下文中加载数据。总之,一切都在数据库端完成。
两个库都支持它,最终将在一个库中得到支持(无论库决定免费)
在 EFE 中,方法被命名为:
在 EF+ 中,方法被命名为:
批量操作仅存在于 EFE 中。它们是直接操作,获取实体列表并将它们与数据库一起保存。
例子
// 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;
});
【讨论】: