【问题标题】:Does SqlBulkCopy Enlist in Ambient Transaction?SqlBulkCopy 在环境事务中登记吗?
【发布时间】:2015-10-11 08:51:21
【问题描述】:

我似乎无法找到明确的答案。我有一个 SqlBulkCopy 操作,它包含在带有许多其他操作的 TransactionScope 中。

我知道允许传递 SqlTransaction 对象的 SqlBulkCopy 构造函数中的重载。假设我没有在构造函数中传递事务,该命令会自动参与 TransactionScope 创建的环境事务吗?

【问题讨论】:

    标签: c# sql-server transactions transactionscope


    【解决方案1】:

    我已经进行了一些测试,似乎 SqlBulkCopy 实际上确实支持环境事务,至少在 .Net 4.5 中是这样。

    为了进行测试,我在调试时执行了 SqlBulkCopy 操作,并验证了行是否已进入数据库(通过 NOLOCK/脏读查询)。然后我在下一行代码中抛出异常,并允许 TransactionScope 回滚。然后我验证了这些行不再在数据库中。

    【讨论】:

      猜你喜欢
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多