C# Класс Common.Infrastructure.Persistence.Ef.Transactions.DbContextTransactionExecutor

This implementation of ITransactionExecutor guarantees that all operations on DbContext will be done in the same transaction (including querying and saving data). In case of nesting there will be only one topmost transaction.
Наследование: ITransactionExecutor
Показать файл Открыть проект

Открытые методы

Метод Описание
DbContextTransactionExecutor ( 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

Приватные методы

Метод Описание
ExecutePostCommitActions ( ) : void
ExecutePostCommitActionsAsync ( ) : System.Threading.Tasks.Task
WeAreAlreadyRunningInsideTransaction ( ) : bool

Описание методов

DbContextTransactionExecutor() публичный Метод

public DbContextTransactionExecutor ( DbContext dbContext ) : System
dbContext DbContext
Результат System

EnlistActionToExecuteAfterSuccessfulCommit() публичный Метод

public EnlistActionToExecuteAfterSuccessfulCommit ( System.Action action ) : void
action System.Action
Результат void

EnlistActionToExecuteAfterSuccessfulCommitAsync() публичный Метод

public EnlistActionToExecuteAfterSuccessfulCommitAsync ( Func asyncAction ) : System.Threading.Tasks.Task
asyncAction Func
Результат System.Threading.Tasks.Task

ExecuteInTransaction() публичный Метод

public ExecuteInTransaction ( System.Action action ) : void
action System.Action
Результат void

ExecuteInTransactionAsync() публичный Метод

public ExecuteInTransactionAsync ( Func asyncAction ) : System.Threading.Tasks.Task
asyncAction Func
Результат System.Threading.Tasks.Task