语言

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

方法

名称 说明
ConnectionCanceled(DbConnection, ConnectionEndEventData)

取消连接时调用。

ConnectionCanceledAsync(DbConnection, ConnectionEndEventData, CancellationToken)

取消连接时调用。

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 创建 /> 之前调用 。 如果应用程序提供要使用的连接,则不会触发此事件。

ConnectionDisposed(DbConnection, ConnectionEndEventData)

在 EF 在异步上下文中调用后调用 Dispose() 。

ConnectionDisposedAsync(DbConnection, ConnectionEndEventData)

在 EF 调用后调用 DisposeAsync()。

ConnectionDisposing(DbConnection, ConnectionEventData, InterceptionResult)

在 EF 打算调用 <a0/> 之前调用 。

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

适用于