ISaveChangesInterceptor Interfejs

Definicja

Umożliwia przechwytywanie DbContext.SaveChanges metod i DbContext.SaveChangesAync .

public interface ISaveChangesInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type ISaveChangesInterceptor = interface
    interface IInterceptor
Public Interface ISaveChangesInterceptor
Implements IInterceptor
Pochodne
Implementuje

Uwagi

Metody przechwytywania SaveChanges mogą służyć do wyświetlania, zmieniania lub pomijania wykonywania wywołania SaveChanges i modyfikowania wyniku przed powrotem do programu EF.

Rozważ dziedziczenie z SaveChangesInterceptor , jeśli nie implementuje wszystkich metod.

Służy AddInterceptors(IInterceptor[]) do rejestrowania przechwytywania aplikacji.

Rozszerzenia mogą również rejestrować przechwytniki u wewnętrznego dostawcy usług. W przypadku znalezienia zarówno wstrzykiwanych, jak i przechwytujących aplikacje, wstrzyknięte przechwytniki są uruchamiane w kolejności, w której są rozpoznawane przez dostawcę usług, a następnie przechwytujące aplikacje są uruchamiane ostatnio.

Aby uzyskać więcej informacji i przykładów, zobacz przechwytywanie ef Core .

Metody

SaveChangesCanceled(DbContextEventData)

Wywoływane po DbContext.SaveChanges anulowaniu.

SaveChangesCanceledAsync(DbContextEventData, CancellationToken)

Wywoływane po DbContext.SaveChangesAsync anulowaniu.

SaveChangesFailed(DbContextErrorEventData)

Wywoływane, gdy wyjątek został zgłoszony w DbContext.SaveChangeselemecie .

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

Wywoływane, gdy wyjątek został zgłoszony w DbContext.SaveChangesAsyncelemecie .

SavedChanges(SaveChangesCompletedEventData, Int32)

Wywołana na końcu .DbContext.SaveChanges

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

Wywołana na końcu .DbContext.SaveChangesAsync

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

Wywołana na początku .DbContext.SaveChanges

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

Wywołana na początku .DbContext.SaveChangesAsync

ThrowingConcurrencyException(ConcurrencyExceptionEventData, InterceptionResult)

Wywoływana bezpośrednio przed tym, jak EF będzie zgłaszać element DbUpdateConcurrencyException.

ThrowingConcurrencyExceptionAsync(ConcurrencyExceptionEventData, InterceptionResult, CancellationToken)

Wywoływana bezpośrednio przed tym, jak EF będzie zgłaszać element DbUpdateConcurrencyException.

Dotyczy