语言

IDbTransactionInterceptor 接口

定义

允许截获与 a 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 立即调用。

适用于