Dapper&TransactionScope?

cod*_*fun 46 transactionscope dapper

我刚开始玩Dapper.到目前为止,我喜欢它.小巧玲珑不适用TransactionScope吗?我注意到,即使我从不打电话,TransactionScope.Complete我的更改仍然会提交到数据库.如果现在不支持TransactionScope,是否有任何计划支持它?如果没有那么你必须使用传统的事务管理(System.Transactions.Transaction)?

更新:我刚刚通过Twitter与Sam谈过.它应该工作.我将在明天上午(工作中)更新它的详细信息,看看是否有人可以弄清楚为什么我的更改仍然被提交到数据库,即使我从未调用完成.

cod*_*fun 90

这完全是我的错,并没有完全理解transactioncope.除非您在transactionscope中打开连接,否则不会在transactionscope中自动登记连接:

自动登记

  using (var scope = new TransactionScope())
      {
        con.Open();                                
         //update/delete/insert commands here
      }
Run Code Online (Sandbox Code Playgroud)

手动登记

    con.Open();
    using (var scope = new TransactionScope())
    {
       con.EnlistTransaction(Transaction.Current);  
       //update/delte/insert statements here
    }
Run Code Online (Sandbox Code Playgroud)

详情请见:详情