C# Class Common.Infrastructure.Persistence.Ef.Transactions.DbContextSaveChangesTransactionExecutor

This implementation of ITransactionExecutor guarantees only that all changes will be saved in single transaction. All queries performed during the action won't be in the same transaction.
Inheritance: ITransactionExecutor
Show file Open project: KrzysztofBranicki/hexagonal-architecture-sample

Public Methods

Method Description
DbContextSaveChangesTransactionExecutor ( DbContext dbContext ) : System
EnlistActionToExecuteAfterSuccessfulCommit ( System.Action action ) : void
EnlistActionToExecuteAfterSuccessfulCommitAsync ( Func asyncAction ) : System.Threading.Tasks.Task
ExecuteInTransaction ( System.Action action ) : void
ExecuteInTransactionAsync ( Func asyncAction ) : System.Threading.Tasks.Task

Private Methods

Method Description
ExecutePostCommitActions ( ) : void
ExecutePostCommitActionsAsync ( ) : System.Threading.Tasks.Task

Method Details

DbContextSaveChangesTransactionExecutor() public method

public DbContextSaveChangesTransactionExecutor ( DbContext dbContext ) : System
dbContext DbContext
return System

EnlistActionToExecuteAfterSuccessfulCommit() public method

public EnlistActionToExecuteAfterSuccessfulCommit ( System.Action action ) : void
action System.Action
return void

EnlistActionToExecuteAfterSuccessfulCommitAsync() public method

public EnlistActionToExecuteAfterSuccessfulCommitAsync ( Func asyncAction ) : System.Threading.Tasks.Task
asyncAction Func
return System.Threading.Tasks.Task

ExecuteInTransaction() public method

public ExecuteInTransaction ( System.Action action ) : void
action System.Action
return void

ExecuteInTransactionAsync() public method

public ExecuteInTransactionAsync ( Func asyncAction ) : System.Threading.Tasks.Task
asyncAction Func
return System.Threading.Tasks.Task