实体框架扩展的批量操作与 EFE 的批量操作

Rad*_*nov 4 c# entity-framework-6 entity-framework-plus entity-framework-extensions

我正在研究用于批量操作的实体框架扩展,并从同一开发人员那里找到了 EF Plus。现在EFE有批量操作,是付费的,EF PLus有Batch操作,号称只执行批量更新和删除,但都叫批量操作。那么EFE的批量操作和EF加批量操作有什么区别呢?

Jon*_*nan 5

免责声明:我是实体框架扩展项目的所有者

免责声明:我是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;
});
Run Code Online (Sandbox Code Playgroud)