簡體   English   中英

如何使用實體框架對與外鍵相關的多個表執行批量插入

[英]How to perform bulk insert into multilple tables which are related with foreign keys using entity framework

我必須對多個表(大約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;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM