SqlBulkCopy 仍然比 Dapper 快吗?

Is SqlBulkCopy still faster than Dapper?

我找到了 Sam Saffron 的一篇关于使用 Dapper (That annoying insert problem getting data into the db using dapper) 批量插入的文章,他在文章结尾处声明:

For example, if you need an ultra fast way to insert lots of stuff into a SQL DB, nothing is going to beat SqlBulkCopy and you are going to need a custom API for that.

这篇文章已有 4 年多了。

我最近偶然发现了 Dapper Plus which claims to be able to do 1,000,000 rows in 2,000ms which would appear to outperform SqlBulkCopy based on many old performance articles I found (such as this one - Evaluating ORMs for batch data)。

我的 Google-fu 很遗憾未能找到这两种批量导入方法之间的最新性能比较。

问题: SqlBulkCopy 还是比 Dapper.NET 快吗?

免责声明:我是项目的所有者Dapper Plus

Dapper Plus for SQL Server/Azure 在有足够的实体要保存时在后台使用 SqlBulkCopy 否则它将使用 SQL 派生的 table.

这篇文章是关于 Entity Framework 的,但如果您想了解更多信息,它也是 Dapper 的相同策略:Entity Framework How to Bulk Insert in SQL Server

因此,我们的库显然没有优于 SqlBulkCopy,性能相同,但我们的库使其更易于使用。

该库还支持:

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

使用 SqlBulkCopy 和临时 Table 技巧。