Поделиться через


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)

Вызывается сразу после вызова CreateCommand()EF .

CommandCreating(CommandCorrelatedEventData, InterceptionResult<DbCommand>)

Вызывается непосредственно перед тем, как EF намерена вызвать CreateCommand().

CommandFailed(DbCommand, CommandErrorEventData)

Вызывается при сбое выполнения команды с исключением.

CommandFailedAsync(DbCommand, CommandErrorEventData, CancellationToken)

Вызывается при сбое выполнения команды с исключением.

CommandInitialized(CommandEndEventData, DbCommand)

Вызывается после инициализации CommandText EF и другой конфигурации команд.

DataReaderClosing(DbCommand, DataReaderClosingEventData, InterceptionResult)

Вызывается непосредственно перед тем, как EF намерена вызвать Close().

DataReaderClosingAsync(DbCommand, DataReaderClosingEventData, InterceptionResult)

Вызывается непосредственно перед вызовом EF CloseAsync() в асинхронном контексте.

DataReaderDisposing(DbCommand, DataReaderDisposingEventData, InterceptionResult)

Вызывается, когда выполнение DbDataReader объекта должно быть удалено.

NonQueryExecuted(DbCommand, CommandExecutedEventData, Int32)

Вызывается сразу после вызова ExecuteNonQuery()EF .

NonQueryExecutedAsync(DbCommand, CommandExecutedEventData, Int32, CancellationToken)

Вызывается сразу после вызова ExecuteNonQueryAsync()EF .

NonQueryExecuting(DbCommand, CommandEventData, InterceptionResult<Int32>)

Вызывается непосредственно перед тем, как EF намерена вызвать ExecuteNonQuery().

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

Вызывается непосредственно перед тем, как EF намерена вызвать ExecuteNonQueryAsync().

ReaderExecuted(DbCommand, CommandExecutedEventData, DbDataReader)

Вызывается сразу после вызова ExecuteReader()EF .

ReaderExecutedAsync(DbCommand, CommandExecutedEventData, DbDataReader, CancellationToken)

Вызывается сразу после вызова ExecuteReaderAsync()EF .

ReaderExecuting(DbCommand, CommandEventData, InterceptionResult<DbDataReader>)

Вызывается непосредственно перед тем, как EF намерена вызвать ExecuteReader().

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

Вызывается непосредственно перед тем, как EF намерена вызвать ExecuteReaderAsync().

ScalarExecuted(DbCommand, CommandExecutedEventData, Object)

Вызывается сразу после вызова ExecuteScalar()EF .

ScalarExecutedAsync(DbCommand, CommandExecutedEventData, Object, CancellationToken)

Вызывается сразу после вызова ExecuteScalarAsync()EF .

ScalarExecuting(DbCommand, CommandEventData, InterceptionResult<Object>)

Вызывается непосредственно перед тем, как EF намерена вызвать ExecuteScalar().

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

Вызывается непосредственно перед тем, как EF намерена вызвать ExecuteScalarAsync().

Применяется к