共用方式為


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 攔截器

方法

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 立即呼叫。

適用於