共用方式為


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()

適用於