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 打算 Dispose() 调用 之前调用 DbConnection

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

适用于