我剛開始玩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
}
詳情請見: 詳情