如何使用 dapper 回滚事务

How to rollback a transaction using dapper

我有这个:

            using (var con= new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString))
            {
                try
                {
                  // many transactions
                }
                catch (Exception e)
                {
                    con.BeginTransaction().Rollback();
                }
            }

我的问题是这行得通吗..我知道另一种方法是进行交易然后打开它然后回滚。

您可以在与 SqlConnection

的 using 块同一级别的 using 块中使用 TransactionScope 变量
using (TransactionScope scope = new TransactionScope())
using (var con= new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString))
{
    try
    {
       // many transactions
       scope.Complete();
    }
    catch (Exception e)
    {
        // Not needed any rollback, if you don't call Complete
        // a rollback is automatic exiting from the using block
        // con.BeginTransaction().Rollback();
    }
}