語言

IDbTransactionInterceptor 介面

定義

允許攔截與 DbTransaction. 相關的操作。

public interface IDbTransactionInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type IDbTransactionInterceptor = interface
    interface IInterceptor
Public Interface IDbTransactionInterceptor
Implements IInterceptor
衍生
實作

備註

交易攔截器可用於檢視、變更或抑制對 的 DbTransaction操作,並在結果返回 EF 前修改該結果。

如果沒有實作所有方法,可以考慮繼承 。DbTransactionInterceptor

用於 AddInterceptors(IInterceptor[]) 註冊應用攔截器。

分機也可以在內部服務提供者中註冊攔截器。 若同時找到注入攔截器與應用攔截器,則依從服務提供者解析的順序執行注入攔截器,最後執行應用攔截器。

更多資訊與範例請參閱 EF Core 攔截器 。

方法

名稱 Description
CreatedSavepoint(DbTransaction, TransactionEventData)

在 EF 建立交易儲存點後立即呼叫。

CreatedSavepointAsync(DbTransaction, TransactionEventData, CancellationToken)

EF打電話 CommitAsync(CancellationToken)後立刻打電話。

CreatingSavepoint(DbTransaction, TransactionEventData, InterceptionResult)

在 EF 打算建立交易儲存點之前被呼叫。

CreatingSavepointAsync(DbTransaction, TransactionEventData, InterceptionResult, CancellationToken)

在 EF 打算建立交易儲存點之前被呼叫。

ReleasedSavepoint(DbTransaction, TransactionEventData)

在 EF 釋出交易儲存點後立即呼叫。

ReleasedSavepointAsync(DbTransaction, TransactionEventData, CancellationToken)

在 EF 釋出交易儲存點後立即呼叫。

ReleasingSavepoint(DbTransaction, TransactionEventData, InterceptionResult)

在 EF 打算釋出交易儲存點前被呼叫。

ReleasingSavepointAsync(DbTransaction, TransactionEventData, InterceptionResult, CancellationToken)

在 EF 打算釋出交易儲存點前被呼叫。

RolledBackToSavepoint(DbTransaction, TransactionEventData)

EF 回滾回交易儲存點後立即呼叫。

RolledBackToSavepointAsync(DbTransaction, TransactionEventData, CancellationToken)

EF 回滾回交易儲存點後立即呼叫。

RollingBackToSavepoint(DbTransaction, TransactionEventData, InterceptionResult)

在 EF 打算回滾到交易儲存點之前呼叫。

RollingBackToSavepointAsync(DbTransaction, TransactionEventData, InterceptionResult, CancellationToken)

在 EF 打算回滾到交易儲存點之前呼叫。

TransactionCommitted(DbTransaction, TransactionEndEventData)

EF打電話 Commit()後立刻打電話。

TransactionCommittedAsync(DbTransaction, TransactionEndEventData, CancellationToken)

EF打電話 CommitAsync(CancellationToken)後立刻打電話。

TransactionCommitting(DbTransaction, TransactionEventData, InterceptionResult)

在 EF 準備打電話 Commit()之前打了電話。

TransactionCommittingAsync(DbTransaction, TransactionEventData, InterceptionResult, CancellationToken)

在 EF 準備打電話 CommitAsync(CancellationToken)之前打了電話。

TransactionFailed(DbTransaction, TransactionErrorEventData)

當使用 DbTransaction 失敗且有例外時會被呼叫。

TransactionFailedAsync(DbTransaction, TransactionErrorEventData, CancellationToken)

當使用 DbTransaction 失敗且有例外時會被呼叫。

TransactionRolledBack(DbTransaction, TransactionEndEventData)

EF打電話 Rollback()後立刻打電話。

TransactionRolledBackAsync(DbTransaction, TransactionEndEventData, CancellationToken)

EF打電話 RollbackAsync(CancellationToken)後立刻打電話。

TransactionRollingBack(DbTransaction, TransactionEventData, InterceptionResult)

在 EF 準備打電話 Rollback()之前打了電話。

TransactionRollingBackAsync(DbTransaction, TransactionEventData, InterceptionResult, CancellationToken)

在 EF 準備打電話 RollbackAsync(CancellationToken)之前打了電話。

TransactionStarted(DbConnection, TransactionEndEventData, DbTransaction)

EF打電話 BeginTransaction(IsolationLevel)後立刻打電話。

TransactionStartedAsync(DbConnection, TransactionEndEventData, DbTransaction, CancellationToken)

EF打電話 BeginTransactionAsync(IsolationLevel, CancellationToken)後立刻打電話。

TransactionStarting(DbConnection, TransactionStartingEventData, InterceptionResult<DbTransaction>)

在 EF 準備打電話 BeginTransaction(IsolationLevel)之前打了電話。

TransactionStartingAsync(DbConnection, TransactionStartingEventData, InterceptionResult<DbTransaction>, CancellationToken)

在 EF 準備打電話 BeginTransactionAsync(IsolationLevel, CancellationToken)之前打了電話。

TransactionUsed(DbConnection, TransactionEventData, DbTransaction)

接著立刻 RelationalDatabaseFacadeExtensions.UseTransaction 被叫來。

TransactionUsedAsync(DbConnection, TransactionEventData, DbTransaction, CancellationToken)

接著立刻 RelationalDatabaseFacadeExtensions.UseTransactionAsync 被叫來。

適用於