Share via


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 立即调用。

适用于