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
Utilizzare la session affinity con Azure Container Apps
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Miglioramenti agli screen reader e al contrasto in Angular
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Usare un KeyedService di default in ASP.NET Core 8
Criptare la comunicazione con mTLS in Azure Container Apps
Reactive form tipizzati con FormBuilder in Angular
C# 12: Cosa c'è di nuovo e interessante
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Configurare policy CORS in Azure Container Apps
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions