Dapper&TransactionScope?

我刚开始玩Dapper。 到目前为止,我喜欢它。 Dapper不能用于TransactionScope ? 我注意到,即使我从来没有调用TransactionScope.Complete那么我的更改仍然提交到数据库。 如果现在不支持TransactionScope,将来有没有计划支持它? 如果没有,那么你必须使用传统的事务pipe理(System.Transactions.Transaction)?

更新:我刚刚通过Twitter与Sam交谈。 它应该工作。 我将在明天早上(工作中)更新它的细节,看看是否有人能够弄清楚为什么我的更改仍然被提交给数据库,即使我从来没有完成调用。

这完全是我的错,并没有完全理解交易范围。 连接不会自动列入transactionscope,除非您在transactionscope中打开连接:

自动登记

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

手动登记

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

详情可以在这里find: 详细信息