Sdílet prostřednictvím


ISaveChangesInterceptor Rozhraní

Definice

Umožňuje zachytávání DbContext.SaveChanges metod a DbContext.SaveChangesAync .

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

Poznámky

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

Zvažte dědění z SaveChangesInterceptor , pokud neimplují všechny metody.

Slouží AddInterceptors(IInterceptor[]) k registraci zachytávače aplikací.

Rozšíření můžou také registrovat zachytávače u interního poskytovatele služeb. Pokud jsou nalezeny zachytávače vložené aplikace i aplikace, jsou vložené zachytávače spuštěny v pořadí, v jakém jsou vyřešeny od poskytovatele služby, a pak jsou zachytávače aplikací spuštěny jako poslední.

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

Metody

SaveChangesCanceled(DbContextEventData)

Volána, když DbContext.SaveChanges byla zrušena.

SaveChangesCanceledAsync(DbContextEventData, CancellationToken)

Volána, když DbContext.SaveChangesAsync byla zrušena.

SaveChangesFailed(DbContextErrorEventData)

Volá se při vyvolání výjimky v DbContext.SaveChanges.

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

Volá se při vyvolání výjimky v DbContext.SaveChangesAsync.

SavedChanges(SaveChangesCompletedEventData, Int32)

Volána na konci .DbContext.SaveChanges

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

Volána na konci .DbContext.SaveChangesAsync

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

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

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

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

ThrowingConcurrencyException(ConcurrencyExceptionEventData, InterceptionResult)

Volá se těsně před tím, než EF vyvolá DbUpdateConcurrencyException.

ThrowingConcurrencyExceptionAsync(ConcurrencyExceptionEventData, InterceptionResult, CancellationToken)

Volá se těsně před tím, než EF vyvolá DbUpdateConcurrencyException.

Platí pro