如何使用dapper回滚事务

Nov*_*per 6 .net c# dapper

我有这个:

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

这项工作是我的问题.我知道另一种方法是创建一个事务然后打开然后回滚.

Ste*_*eve 10

您可以在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();
    }
}
Run Code Online (Sandbox Code Playgroud)