Język

ISaveChangesInterceptor Interfejs

Definicja

Umożliwia przechwycenie 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

Przechwytniki SaveChanges mogą służyć do wyświetlania, zmieniania lub pomijania wykonywania wywołania SaveChanges i modyfikowania wyniku przed jego zwróceniem 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. Jeśli znaleziono zarówno wstrzykiwane, jak i przechwytujące aplikacje, następnie wstrzykiwane przechwytniki są uruchamiane w kolejności, w której są rozpoznawane przez dostawcę usług, a następnie przechwytujące aplikacje są uruchamiane jako ostatnie.

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

Metody

Nazwisko Opis
SaveChangesCanceled(DbContextEventData)

Wywoływana, gdy DbContext.SaveChanges została anulowana.

SaveChangesCanceledAsync(DbContextEventData, CancellationToken)

Wywoływana, gdy DbContext.SaveChangesAsync została anulowana.

SaveChangesFailed(DbContextErrorEventData)

Wywoływana, gdy w elemecie został zgłoszony DbContext.SaveChangeswyjątek .

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

Wywoływana, gdy w elemecie został zgłoszony DbContext.SaveChangesAsyncwyjątek .

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łana bezpośrednio przed zgłoszeniem DbUpdateConcurrencyExceptionprzez EF .

ThrowingConcurrencyExceptionAsync(ConcurrencyExceptionEventData, InterceptionResult, CancellationToken)

Wywołana bezpośrednio przed zgłoszeniem DbUpdateConcurrencyExceptionprzez EF .

Dotyczy