gpt4 book ai didi

c# - 如何使用 Entity Framework 批量插入与外键相关的多个表

转载 作者:行者123 更新时间:2023-11-29 18:11:26 25 4
gpt4 key购买 nike

我必须向多个表(大约 30 个表)中执行批量插入(大约 50-100 行),其中一些表与外键相关。我想通过使用 Entity Framework (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;
});

关于c# - 如何使用 Entity Framework 批量插入与外键相关的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47365584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com