語言

IDbCommandInterceptor 介面

定義

允許攔截傳送到關聯式資料庫的指令。

public interface IDbCommandInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type IDbCommandInterceptor = interface
    interface IInterceptor
Public Interface IDbCommandInterceptor
Implements IInterceptor
衍生
實作

備註

指令攔截器可用來檢視、變更或抑制 DbCommand執行 ,並在結果返回 EF 前修改該結果。

如果沒有實作所有方法,可以考慮繼承 。DbCommandInterceptor

用於 AddInterceptors(IInterceptor[]) 註冊應用攔截器。

分機也可以在內部服務提供者中註冊攔截器。 若同時找到注入攔截器與應用攔截器,則依從服務提供者解析的順序執行注入攔截器,最後執行應用攔截器。

更多資訊與範例請參閱 EF Core 攔截器 。

方法

名稱 Description
CommandCanceled(DbCommand, CommandEndEventData)

當命令被取消時會打電話。

CommandCanceledAsync(DbCommand, CommandEndEventData, CancellationToken)

當命令被取消時會打電話。

CommandCreated(CommandEndEventData, DbCommand)

EF打電話 CreateCommand()後立刻打電話。

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)

當執行 a DbDataReader 即將被處置時被召喚。

NonQueryExecuted(DbCommand, CommandExecutedEventData, Int32)

EF打電話 ExecuteNonQuery()後立刻打電話。

NonQueryExecutedAsync(DbCommand, CommandExecutedEventData, Int32, CancellationToken)

EF打電話 ExecuteNonQueryAsync()後立刻打電話。

NonQueryExecuting(DbCommand, CommandEventData, InterceptionResult<Int32>)

在 EF 準備打電話 ExecuteNonQuery()之前打了電話。

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

在 EF 準備打電話 ExecuteNonQueryAsync()之前打了電話。

ReaderExecuted(DbCommand, CommandExecutedEventData, DbDataReader)

EF打電話 ExecuteReader()後立刻打電話。

ReaderExecutedAsync(DbCommand, CommandExecutedEventData, DbDataReader, CancellationToken)

EF打電話 ExecuteReaderAsync()後立刻打電話。

ReaderExecuting(DbCommand, CommandEventData, InterceptionResult<DbDataReader>)

在 EF 準備打電話 ExecuteReader()之前打了電話。

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

在 EF 準備打電話 ExecuteReaderAsync()之前打了電話。

ScalarExecuted(DbCommand, CommandExecutedEventData, Object)

EF打電話 ExecuteScalar()後立刻打電話。

ScalarExecutedAsync(DbCommand, CommandExecutedEventData, Object, CancellationToken)

EF打電話 ExecuteScalarAsync()後立刻打電話。

ScalarExecuting(DbCommand, CommandEventData, InterceptionResult<Object>)

在 EF 準備打電話 ExecuteScalar()之前打了電話。

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

在 EF 準備打電話 ExecuteScalarAsync()之前打了電話。

適用於