Skip to content

DistributedTransactions

Marcin Sulecki edited this page Mar 28, 2017 · 1 revision

Transakcje rozproszone

private static void TransactionScopeTest()
{
    Artist artist1 = new Artist();
    Artist artist2 = new Artist();
 
    using (var scope = new TransactionScope())
    {
        using (var context1 = new MusicStoreContext())
        {
            context1.Artists.Add(artist1);
            context1.Artists.Add(artist2);
 
            context1.SaveChanges();
        }
 
        using (var context2 = new MusicStoreContext())
        {
            context2.Artists.Add(artist1);
            context2.SaveChanges();
        }
 
        scope.Complete();
    }
}

wskazówka: dodaj referencję do System.Transactions

uwaga: w przypadku wykorzystania transakcji w metodzie asynchronicznej otrzymamy błąd. Dlatego należy dodać parametr w konstruktorze:

var transactionScope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
Clone this wiki locally