語言

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 攔截器 。

建構函式

名稱 Description
DbCommandInterceptor()

用於實作介面方法子集時的抽象基類 IDbCommandInterceptor 。

方法

名稱 Description
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() 。

適用於