Jazyk

ISaveChangesInterceptor Rozhraní

Definice

Umožňuje zachycení metod DbContext.SaveChanges a DbContext.SaveChangesAync metod.

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

Poznámky

Zachytávání SaveChanges lze použít k zobrazení, změně nebo potlačení provádění volání SaveChanges a úpravě výsledku před vrácením do EF.

Pokud neimimplují všechny metody, zvažte dědění zděděné SaveChangesInterceptor .

Slouží AddInterceptors(IInterceptor[]) k registraci zachytávání aplikací.

Rozšíření můžou také registrovat průsečíky v interním poskytovateli služeb. Pokud jsou nalezeny injektované i aplikační průsečíky, spustí se injektované průsečíky v pořadí, v jakém jsou vyřešeny od poskytovatele služeb, a potom se zachytávají poslední zachytávání aplikací.

Další informace a příklady najdete v tématu zachytávání EF Core .

Metody

Název Description
SaveChangesCanceled(DbContextEventData)

Volá se při DbContext.SaveChanges zrušení.

SaveChangesCanceledAsync(DbContextEventData, CancellationToken)

Volá se při DbContext.SaveChangesAsync zrušení.

SaveChangesFailed(DbContextErrorEventData)

Volá se, když byla vyvolána DbContext.SaveChangesvýjimka .

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

Volá se, když byla vyvolána DbContext.SaveChangesAsyncvýjimka .

SavedChanges(SaveChangesCompletedEventData, Int32)

Volá se na konci .DbContext.SaveChanges

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

Volá se na konci .DbContext.SaveChangesAsync

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

Volá se na začátku .DbContext.SaveChanges

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

Volá se na začátku .DbContext.SaveChangesAsync

ThrowingConcurrencyException(ConcurrencyExceptionEventData, InterceptionResult)

Volal bezprostředně před EF bude hodit DbUpdateConcurrencyException.

ThrowingConcurrencyExceptionAsync(ConcurrencyExceptionEventData, InterceptionResult, CancellationToken)

Volal bezprostředně před EF bude hodit DbUpdateConcurrencyException.

Platí pro