Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

TransactionScope et appel de méthode utilisant la même connexion

Si plusieurs connexions sont ouvertes sous le même TransactionScope il sera automatiquement transmis au DTC.

Vous devez fermer la première connexion avant d'appeler Method2 .

public static void Method1()
{
    using (TransactionScope scope = new TransactionScope())
    {
        bool success = true; // will be set to false in an omitted catch

        bool isSomethingHappened
        using (var connection = new SqlConnection(ConnectionString1))
        {
           isSomethingHappened = // Execute query 1
        }

       if(somethingHappened)
           Method2();

        if(success)
            scope.Complete();
    }
}