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


ISaveChangesInterceptor Интерфейс

Определение

Разрешает перехват DbContext.SaveChanges методов и DbContext.SaveChangesAync .

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

Комментарии

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

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

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

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

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

Методы

SaveChangesCanceled(DbContextEventData)

Вызывается при DbContext.SaveChanges отмене.

SaveChangesCanceledAsync(DbContextEventData, CancellationToken)

Вызывается при DbContext.SaveChangesAsync отмене.

SaveChangesFailed(DbContextErrorEventData)

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

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

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

SavedChanges(SaveChangesCompletedEventData, Int32)

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

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

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

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

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

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

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

ThrowingConcurrencyException(ConcurrencyExceptionEventData, InterceptionResult)

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

ThrowingConcurrencyExceptionAsync(ConcurrencyExceptionEventData, InterceptionResult, CancellationToken)

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

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