Utilizzare TransactionScope in Entity Framework Core 2.1

di Stefano Mostarda, in LINQ, Entity Framework,

Fino alla versione 2.0, Entity Framework Core non offre il supporto per le transazioni utilizzando TransactionScope. Questa mancanza non è propria di Entity Framework, bensì di ADO.NET che fino alla versione 2.0 di .NET Core non ha il supporto a TransactionScope. Con la versione 2.1 di .NET Core, il supporto a TransactionScope è stato aggiunto e quindi possiamo beneficiarne anche in Entity Framework Core come il prossimo script dimostra.

using (var ts = new TransactionScope()) 
{
  using (var ctx1 = new MyContext) 
  {
    ...
    ctx1.SaveChanges();
  }

  using (var ctx2 = new MyContext) 
  {
    ...
    ctx2.SaveChanges();
  }
  ts.Complete();
}

In questo esempio, sebbene i due contesti salvino i loro dati usado il metodo SaveChanges, niente viene persistito sul database finchè l'oggetto TransactionScope non esegue il commit della transazione.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi