Share via


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 인터셉터를 참조하세요.

메서드

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)

실행이 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()됩니다.

적용 대상