DbTransactionInterceptor.TransactionStartedAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывается сразу после вызова BeginTransactionAsync(IsolationLevel, CancellationToken) EF .
Этот метод по-прежнему вызывается, если перехватчик подавлял создание в TransactionStarting(DbConnection, TransactionStartingEventData, InterceptionResult<DbTransaction>).
В этом случае — это результат, result
возвращаемый .TransactionStarting(DbConnection, TransactionStartingEventData, InterceptionResult<DbTransaction>)
public virtual System.Threading.Tasks.Task<System.Data.Common.DbTransaction> TransactionStartedAsync (System.Data.Common.DbConnection connection, Microsoft.EntityFrameworkCore.Diagnostics.TransactionEndEventData eventData, System.Data.Common.DbTransaction result, System.Threading.CancellationToken cancellationToken = default);
public virtual System.Threading.Tasks.ValueTask<System.Data.Common.DbTransaction> TransactionStartedAsync (System.Data.Common.DbConnection connection, Microsoft.EntityFrameworkCore.Diagnostics.TransactionEndEventData eventData, System.Data.Common.DbTransaction result, System.Threading.CancellationToken cancellationToken = default);
abstract member TransactionStartedAsync : System.Data.Common.DbConnection * Microsoft.EntityFrameworkCore.Diagnostics.TransactionEndEventData * System.Data.Common.DbTransaction * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Data.Common.DbTransaction>
override this.TransactionStartedAsync : System.Data.Common.DbConnection * Microsoft.EntityFrameworkCore.Diagnostics.TransactionEndEventData * System.Data.Common.DbTransaction * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Data.Common.DbTransaction>
abstract member TransactionStartedAsync : System.Data.Common.DbConnection * Microsoft.EntityFrameworkCore.Diagnostics.TransactionEndEventData * System.Data.Common.DbTransaction * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Data.Common.DbTransaction>
override this.TransactionStartedAsync : System.Data.Common.DbConnection * Microsoft.EntityFrameworkCore.Diagnostics.TransactionEndEventData * System.Data.Common.DbTransaction * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Data.Common.DbTransaction>
Public Overridable Function TransactionStartedAsync (connection As DbConnection, eventData As TransactionEndEventData, result As DbTransaction, Optional cancellationToken As CancellationToken = Nothing) As Task(Of DbTransaction)
Public Overridable Function TransactionStartedAsync (connection As DbConnection, eventData As TransactionEndEventData, result As DbTransaction, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of DbTransaction)
Параметры
- connection
- DbConnection
Соединение.
- eventData
- TransactionEndEventData
Контекстные сведения о подключении и транзакции.
- result
- DbTransaction
Результат вызова BeginTransactionAsync(IsolationLevel, CancellationToken). Это значение обычно используется в качестве возвращаемого значения для реализации этого метода.
- cancellationToken
- CancellationToken
Объект CancellationToken , который необходимо наблюдать в ожидании завершения задачи.
Возвращаемое значение
Объект , Task предоставляющий результат, который будет использовать EF.
Обычной реализацией этого метода для любого перехватчика, который не пытается изменить результат, является возврат передаваемого result
значения, часто с помощью FromResult<TResult>(TResult)
Реализации
Исключения
Если CancellationToken отменяется.
Применяется к
Entity Framework