Dapper&TransactionScope?

dapper transactionscope

我剛開始玩Dapper。到目前為止,我喜歡它。 dapper不適用於TransactionScope嗎?我注意到即使我從未調用TransactionScope.Complete我的更改仍然會提交到數據庫。如果現在不支持TransactionScope,是否有任何計劃支持它?如果沒有那麼你必須使用傳統的事務管理(System.Transactions.Transaction)?

更新:我剛剛通過Twitter與Sam談過。它應該工作。我將在明天早上(工作中)更新它,詳細信息,看看是否有人可以找出為什麼我的更改仍然被提交到數據庫,即使我從未調用完成。

一般承認的答案

這完全是我的錯,並沒有完全理解transactioncope。除非在transactioncope中打開連接,否則不會在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
    }

詳情請見: 詳情



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因