gpt4 book ai didi

C# 和 EF : bulkinsert related objects

转载 作者:行者123 更新时间:2023-11-30 23:21:12 39 4
gpt4 key购买 nike

我目前正在玩 EntityFramework.BulkInsert

虽然它确实有助于提高简单插入的性能(16 秒,1.000.000 行),但我找不到有关插入映射到多个表的对象的任何信息。唯一与此相关的是官方网站上的旧(2014)主题,说明这是不可能的。这还是真实的吗?

如果是这样:是否有任何好的解决方法?

最佳答案

EntityFramework.BulkInsert 是一个很好的库,支持简单的场景。但是,该库是有限的,不再受支持。

到目前为止,只有一种好的解决方法,那就是使用一个支持一切的库!

免责声明:我是项目的所有者Entity Framework Extensions

该库支持所有内容,包括所有关联和继承。

例如,要在不同的表中保存多个实体,您可以使用 BulkSaveChanges,它的工作方式与 SaveChanges 完全相同,但速度更快!

// Easy to use
context.BulkSaveChanges();

// Easy to customize
context.BulkSaveChanges(bulk => bulk.BatchSize = 100);

该库不仅可以插入,还可以做更多的事情。它支持所有批量操作:

  • 批量插入
  • 批量更新
  • 批量删除
  • 批量合并

但是与 EntityFramework.BulkInsert 不同的是,这个库不是免费的。

编辑:回答子问题

You say way faster - do you have any metrics or a link to metrics

@Mark:您可以在我们的网站上查看指标 homepage .我们报告说 BulkSaveChanges 比 SaveChanges 至少快 15 倍。

然而,指标存在严重偏差。太多的东西可能会影响它,比如索引、触发器、延迟等!

人们通常报告我们的性能提高了 25 倍、50 倍、80 倍!

人们在执行基准测试时通常会忘记的一件事是在 JIT 编译测试之前调用我们的库一次!与 Entity Framework 一样,第一次访问库可能需要几毫秒。

关于C# 和 EF : bulkinsert related objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39320956/

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