using (var transaction = dbContext.Database.BeginTransaction()) { try { // perform database operations here dbContext.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw; } }
using (var transaction1 = dbContext.Database.BeginTransaction()) { try { // perform database operations in transaction 1 dbContext.SaveChanges(); using (var transaction2 = dbContext.Database.BeginTransaction()) { try { // perform database operations in transaction 2 dbContext.SaveChanges(); transaction2.Commit(); } catch (Exception ex) { transaction2.Rollback(); throw; } } transaction1.Commit(); } catch (Exception ex) { transaction1.Rollback(); throw; } }In this example, we start two nested transactions using the BeginTransaction method. We perform some database operations in each transaction and call SaveChanges to save the changes to the database. If everything succeeds, we commit each transaction using the Commit method. If an exception is thrown, we roll back the transactions to undo any changes made to the database. Package/library: Microsoft.EntityFrameworkCore.