sql >> Databasteknik >  >> RDS >> Sqlserver

TransactionScope och metodanrop som använder samma anslutning

Om fler än en anslutning är öppen under samma TransactionScope den kommer automatiskt att eskaleras till DTC.

Du måste stänga den första anslutningen innan du ringer 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();
    }
}


  1. Beror INNER JOIN-prestanda på ordning på borden?

  2. Hur kan jag skriva migrering för att infoga poster med phinx?

  3. databasen tar inte tabellen

  4. Utvärdera när ett uttryck i en fråga utvärderas