ISaveChangesInterceptor Интерфейс

Определение

Позволяет перехватывать DbContext.SaveChanges методы и DbContext.SaveChangesAync методы.

Перехватчики команд можно использовать для просмотра, изменения или подавления выполнения вызова SaveChanges и изменения результата перед возвратом в EF.

Рекомендуется наследовать от SaveChangesInterceptor , если не реализовать все методы.

Используется AddInterceptors(IInterceptor[]) для регистрации перехватчиков приложений.

Расширения также могут регистрировать перехватчики во внутреннем поставщике услуг. Если обнаружены как внедренные, так и перехватчики приложений, то внедренные перехватчики выполняются в том порядке, в который они разрешаются от поставщика услуг, а затем перехватчики приложений выполняются последним.

public interface ISaveChangesInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type ISaveChangesInterceptor = interface
    interface IInterceptor
Public Interface ISaveChangesInterceptor
Implements IInterceptor
Производный
Реализации

Комментарии

Дополнительные сведения см. в описании перехватчиков EF Core .

Методы

SaveChangesFailed(DbContextErrorEventData)

Вызывается при возникновении исключения.DbContext.SaveChanges

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

Вызывается при возникновении исключения.DbContext.SaveChangesAsync

SavedChanges(SaveChangesCompletedEventData, Int32)

Вызывается в конце DbContext.SaveChanges.

Этот метод по-прежнему вызывается, если перехватчик подавлял создание команды в SavingChanges(DbContextEventData, InterceptionResult<Int32>). В этом случае result возвращается SavingChanges(DbContextEventData, InterceptionResult<Int32>)результат .

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

Вызывается в конце DbContext.SaveChangesAsync.

Этот метод по-прежнему вызывается, если перехватчик подавлял создание команды в SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken). В этом случае result возвращается SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)результат .

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

Вызывается в начале DbContext.SaveChanges.

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

Вызывается в начале DbContext.SaveChangesAsync.

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