【问题标题】:How to do multiple insert as well update by using dapper .net?如何使用 dapper .net 进行多次插入以及更新?
【发布时间】:2015-03-14 19:11:55
【问题描述】:

如何使用 dapper .net 进行多次插入(50000 条记录)以及更新?

  1. 是否可以使用SqlBulkCopy 来实现这一点?如果是,那怎么办?

  2. 有没有使用 Dapper.net 实现多层次插入或更新的最佳方法?

技术:C#、SQL Server 2012、Dapper.net

【问题讨论】:

    标签: c# .net sql-server orm dapper


    【解决方案1】:
    1. 如果你只想插入:SqlBulkCopy 应该没问题;如果你想要一个“upsert”,我建议使用表值参数(dapper 支持)和merge t-sql 操作
    2. Dapper 只是简化了 ado.net;如果你想在 ado.net 中做这件事,dapper 可能会让你更容易;但是,听起来多个 TVP 可能就足够了

    【讨论】:

    • 您是否可以与 dapper .net 共享一些用于多次插入的 sqlbulkcopy 代码示例
    • @RakeshGaur 你不需要小巧玲珑的 SqlBulkCopy;你只需使用SqlBulkCopy。但是,请注意,FastMember(一个单独的库)有一些工具可以方便地实现这一点,尤其是当输入源是一组对象时 - 它允许将 IEnumerable<T> 视为流 IDataReader,这就是 SqlBulkCopy消耗
    【解决方案2】:

    如果您的意思是确定并且能够单独隔离插入和更新实体,那么我建议使用 Dapper.Net 人员自己提供的 Dapper.Contrib 库。可通过nuget 获得。它对我的项目非常有效。

    这是他们Github 项目页面的链接。

    【讨论】:

      猜你喜欢
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      • 2016-07-03
      相关资源
      最近更新 更多