共用方式為


IDbConnectionInterceptor 介面

定義

允許攔截 上的 DbConnection 作業。

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

備註

連線攔截器可用來檢視、變更或隱藏 上的 DbConnection 作業,以及在傳回 EF 之前修改結果。

若未實作所有方法,請考慮繼承自 DbConnectionInterceptor

使用 AddInterceptors(IInterceptor[]) 來註冊應用程式攔截器。

延伸模組也可以在內部服務提供者中註冊攔截器。 如果找到插入和應用程式攔截器,則插入的攔截器會依照從服務提供者解析的循序執行,然後最後執行應用程式攔截器。

如需詳細資訊和範例,請參閱 EF Core 攔截器

方法

ConnectionClosed(DbConnection, ConnectionEndEventData)

在 EF 在非同步內容中呼叫之後呼叫 Close()

ConnectionClosedAsync(DbConnection, ConnectionEndEventData)

在 EF 呼叫 之後呼叫 CloseAsync()

ConnectionClosing(DbConnection, ConnectionEventData, InterceptionResult)

在 EF 想要呼叫 之前呼叫 Close()

ConnectionClosingAsync(DbConnection, ConnectionEventData, InterceptionResult)

在 EF 想要在非同步內容中呼叫之前呼叫 CloseAsync()

ConnectionCreated(ConnectionCreatedEventData, DbConnection)

在 EF 建立 之後呼叫 DbConnection 。 如果應用程式提供要使用的連線,則不會觸發此事件。

ConnectionCreating(ConnectionCreatingEventData, InterceptionResult<DbConnection>)

在 EF 建立 DbConnection 之前呼叫 。 如果應用程式提供要使用的連線,則不會觸發此事件。

ConnectionDisposed(DbConnection, ConnectionEndEventData)

在 EF 在非同步內容中呼叫之後呼叫 Dispose()

ConnectionDisposedAsync(DbConnection, ConnectionEndEventData)

在 EF 呼叫 之後呼叫 DisposeAsync()

ConnectionDisposing(DbConnection, ConnectionEventData, InterceptionResult)

在 EF 想要呼叫 DbConnection 之前呼叫 Dispose()

ConnectionDisposingAsync(DbConnection, ConnectionEventData, InterceptionResult)

在 EF 想要在非同步內容中呼叫之前呼叫 DisposeAsync()

ConnectionFailed(DbConnection, ConnectionErrorEventData)

關閉連線失敗時呼叫,但發生例外狀況。

ConnectionFailedAsync(DbConnection, ConnectionErrorEventData, CancellationToken)

關閉連線失敗時呼叫,但發生例外狀況。

ConnectionOpened(DbConnection, ConnectionEndEventData)

在 EF 呼叫 之後呼叫 Open()

ConnectionOpenedAsync(DbConnection, ConnectionEndEventData, CancellationToken)

在 EF 呼叫 之後呼叫 OpenAsync()

ConnectionOpening(DbConnection, ConnectionEventData, InterceptionResult)

在 EF 想要呼叫 之前呼叫 Open()

ConnectionOpeningAsync(DbConnection, ConnectionEventData, InterceptionResult, CancellationToken)

在 EF 想要呼叫 之前呼叫 OpenAsync()

適用於