public async Task CommitTransactionAsync() { if (DbContextTransaction != null) { await DbContextTransaction.CommitAsync(); DbContextTransaction = null; } }
public async Task CommitAsync() { await DbContextTransaction.CommitAsync(CancellationTokenProvider.Token); foreach (var dbContext in AttendedDbContexts) { if (dbContext.As <DbContext>().HasRelationalTransactionManager()) { continue; //Relational databases use the shared transaction } await dbContext.Database.CommitTransactionAsync(CancellationTokenProvider.Token); } }
public async Task CommitAsync() { foreach (var dbContext in AttendedDbContexts) { if (dbContext.As <DbContext>().HasRelationalTransactionManager() && dbContext.Database.GetDbConnection() == DbContextTransaction.GetDbTransaction().Connection) { continue; //Relational databases use the shared transaction if they are using the same connection } await dbContext.Database.CommitTransactionAsync(CancellationTokenProvider.Token); } await DbContextTransaction.CommitAsync(CancellationTokenProvider.Token); }