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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare le collection expression per inizializzare una lista di oggetti in C#
Gestire i null nelle reactive form tipizzate di Angular
Implementare l'infinite scroll con QuickGrid in Blazor Server
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Le novità di Angular: i miglioramenti alla CLI
Code scanning e advanced security con Azure DevOps
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Miglioramenti agli screen reader e al contrasto in Angular