實體框架擴展的批量操作與EFE的批量操作

c# entity-framework-6 entity-framework-extensions entity-framework-plus

我正在研究批量操作的實體框架擴展,我從相同的開發人員EF Plus中找到了。現在EFE有批量操作付費,EF PLus有批量操作,聲稱只執行批量更新和刪除,但稱為批量操作。那麼EFE的批量操作和EF plus批量操作之間有什麼區別?

一般承認的答案

免責聲明 :我是項目實體框架擴展的所有者

免責聲明 :我是項目Entity Framework Plus的所有者

稱為Bulk OperationBatch Operation方法之間存在巨大差異。

批量操作

Bach操作在數據庫中執行操作,而不在上下文中加載數據。簡而言之,一切都在數據庫方面完成。

兩個庫都支持它,最終將在一個庫中支持(無論庫決定,都可以免費)

在EFE中,方法命名為:

  • DeleteFromQuery
  • UpdateFromQuery

在EF +中,方法命名為:

  • 刪除
  • 更新

批量操作

批量操作僅存在於EFE中。它們是立即操作,它們獲取實體列表並將其與數據庫一起保存。

  • 批量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;
});



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因