语言

DbCommandInterceptor 类

定义

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

[System.Runtime.CompilerServices.Nullable(0)]
public abstract class DbCommandInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IDbCommandInterceptor, Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
public abstract class DbCommandInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IDbCommandInterceptor, Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbCommandInterceptor = class
    interface IDbCommandInterceptor
    interface 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()。

适用于