ISaveChangesInterceptor Interfejs

Definicja

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

Przechwytniki poleceń mogą służyć do wyświetlania, zmieniania lub pomijania wykonywania wywołania SaveChanges i modyfikowania wyniku, zanim zostanie zwrócony 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.

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

Uwagi

Aby uzyskać więcej informacji, zobacz przechwytywanie ef Core .

Metody

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

Ta metoda jest nadal wywoływana, jeśli przechwytujący pominął tworzenie polecenia w programie SavingChanges(DbContextEventData, InterceptionResult<Int32>). W takim przypadku result jest wynikiem zwracanym przez SavingChanges(DbContextEventData, InterceptionResult<Int32>)element .

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

Wywołana na końcu .DbContext.SaveChangesAsync

Ta metoda jest nadal wywoływana, jeśli przechwytujący pominął tworzenie polecenia w programie SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken). W takim przypadku result jest wynikiem zwracanym przez SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)element .

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

Wywołana na początku .DbContext.SaveChanges

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

Wywołana na początku .DbContext.SaveChangesAsync

Dotyczy