语言

DbCommandInterceptor 类

定义

实现 IDbCommandInterceptor 接口方法子集时使用的 抽象基类。

public abstract class DbCommandInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IDbCommandInterceptor, Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type DbCommandInterceptor = class
    interface IDbCommandInterceptor
    interface IInterceptor
Public MustInherit Class DbCommandInterceptor
Implements IDbCommandInterceptor, IInterceptor
继承
DbCommandInterceptor
实现

注解

有关详细信息和示例 ,请参阅 EF Core 侦听器 。

构造函数

名称 说明
DbCommandInterceptor()

实现 IDbCommandInterceptor 接口方法子集时使用的 抽象基类。

方法

名称 说明
CommandCanceled(DbCommand, CommandEndEventData)

取消命令时调用。

CommandCanceledAsync(DbCommand, CommandEndEventData, CancellationToken)

取消命令时调用。

CommandCreated(CommandEndEventData, DbCommand)

在 EF 调用 后立即调用 CreateCommand()。

如果侦听器禁止在 中创建 CommandCreating(CommandCorrelatedEventData, InterceptionResult<DbCommand>)命令,则仍会调用此方法。 在本例中, result 是 返回 CommandCreating(CommandCorrelatedEventData, InterceptionResult<DbCommand>)的结果。

CommandCreating(CommandCorrelatedEventData, InterceptionResult<DbCommand>)

在 EF 打算调用 之前调用 CreateCommand()。

CommandFailed(DbCommand, CommandErrorEventData)

当命令执行失败并出现异常时调用。

CommandFailedAsync(DbCommand, CommandErrorEventData, CancellationToken)

当命令执行失败并出现异常时调用。

CommandInitialized(CommandEndEventData, DbCommand)

在 EF 初始化 CommandText 和其他命令配置后调用。

DataReaderClosing(DbCommand, DataReaderClosingEventData, InterceptionResult)

在 EF 打算调用 之前调用 Close()。

DataReaderClosingAsync(DbCommand, DataReaderClosingEventData, InterceptionResult)

在 EF 打算在异步上下文中调用 CloseAsync() 之前调用。

DataReaderDisposing(DbCommand, DataReaderDisposingEventData, InterceptionResult)

在即将释放 的执行 DbDataReader 时调用。

NonQueryExecuted(DbCommand, CommandExecutedEventData, Int32)

在 EF 调用 后立即调用 ExecuteNonQuery()。

如果侦听器在 中 NonQueryExecuting(DbCommand, CommandEventData, InterceptionResult<Int32>)禁止执行命令,则仍会调用此方法。 在本例中, result 是 返回 NonQueryExecuting(DbCommand, CommandEventData, InterceptionResult<Int32>)的结果。

NonQueryExecutedAsync(DbCommand, CommandExecutedEventData, Int32, CancellationToken)

在 EF 调用 后立即调用 ExecuteNonQueryAsync()。

如果侦听器在 中 NonQueryExecutingAsync(DbCommand, CommandEventData, InterceptionResult<Int32>, CancellationToken)禁止执行命令,则仍会调用此方法。 在本例中, result 是 返回 NonQueryExecutingAsync(DbCommand, CommandEventData, InterceptionResult<Int32>, CancellationToken)的结果。

NonQueryExecuting(DbCommand, CommandEventData, InterceptionResult<Int32>)

在 EF 打算调用 之前调用 ExecuteNonQuery()。

NonQueryExecutingAsync(DbCommand, CommandEventData, InterceptionResult<Int32>, CancellationToken)

在 EF 打算调用 之前调用 ExecuteNonQueryAsync()。

ReaderExecuted(DbCommand, CommandExecutedEventData, DbDataReader)

在 EF 调用 后立即调用 ExecuteReader()。

如果侦听器在 中 ReaderExecuting(DbCommand, CommandEventData, InterceptionResult<DbDataReader>)禁止执行命令,则仍会调用此方法。 在本例中, result 是 返回 ReaderExecuting(DbCommand, CommandEventData, InterceptionResult<DbDataReader>)的结果。

ReaderExecutedAsync(DbCommand, CommandExecutedEventData, DbDataReader, CancellationToken)

在 EF 调用 后立即调用 ExecuteReaderAsync()。

如果侦听器在 中 ReaderExecutingAsync(DbCommand, CommandEventData, InterceptionResult<DbDataReader>, CancellationToken)禁止执行命令,则仍会调用此方法。 在本例中, result 是 返回 ReaderExecutingAsync(DbCommand, CommandEventData, InterceptionResult<DbDataReader>, CancellationToken)的结果。

ReaderExecuting(DbCommand, CommandEventData, InterceptionResult<DbDataReader>)

在 EF 打算调用 之前调用 ExecuteReader()。

ReaderExecutingAsync(DbCommand, CommandEventData, InterceptionResult<DbDataReader>, CancellationToken)

在 EF 打算调用 之前调用 ExecuteReaderAsync()。

ScalarExecuted(DbCommand, CommandExecutedEventData, Object)

在 EF 调用 后立即调用 ExecuteScalar()。

如果侦听器在 中 ScalarExecuting(DbCommand, CommandEventData, InterceptionResult<Object>)禁止执行命令,则仍会调用此方法。 在本例中, result 是 返回 ScalarExecuting(DbCommand, CommandEventData, InterceptionResult<Object>)的结果。

ScalarExecutedAsync(DbCommand, CommandExecutedEventData, Object, CancellationToken)

在 EF 调用 后立即调用 ExecuteScalarAsync()。

如果侦听器在 中 ScalarExecutingAsync(DbCommand, CommandEventData, InterceptionResult<Object>, CancellationToken)禁止执行命令,则仍会调用此方法。 在本例中, result 是 返回 ScalarExecutingAsync(DbCommand, CommandEventData, InterceptionResult<Object>, CancellationToken)的结果。

ScalarExecuting(DbCommand, CommandEventData, InterceptionResult<Object>)

在 EF 打算调用 之前调用 ExecuteScalar()。

ScalarExecutingAsync(DbCommand, CommandEventData, InterceptionResult<Object>, CancellationToken)

在 EF 打算调用 之前调用 ExecuteScalarAsync()。

适用于