ISaveChangesInterceptor Schnittstelle

Definition

Ermöglicht das Abfangen der DbContext.SaveChanges Methoden und DbContext.SaveChangesAync .

Befehls-Interceptors können verwendet werden, um die Ausführung des SaveChanges-Aufrufs zu anzeigen, zu ändern oder zu unterdrücken und das Ergebnis zu ändern, bevor es an EF zurückgegeben wird.

Erwägen Sie, von zu SaveChangesInterceptor erben, wenn nicht alle Methoden implementieren.

Verwenden AddInterceptors(IInterceptor[]) Sie , um Anwendungs-Interceptors zu registrieren.

Erweiterungen können auch Interceptors im internen Dienstanbieter registrieren. Wenn sowohl injizierte als auch Anwendungs-Interceptors gefunden werden, werden die injizierten Interceptors in der Reihenfolge ausgeführt, in der sie vom Dienstanbieter aufgelöst werden. Anschließend werden die Anwendungs-Interceptors zuletzt ausgeführt.

public interface ISaveChangesInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type ISaveChangesInterceptor = interface
    interface IInterceptor
Public Interface ISaveChangesInterceptor
Implements IInterceptor
Abgeleitet
Implementiert

Hinweise

Weitere EF Core finden Sie unter EF Core Interceptors.

Methoden

SaveChangesFailed(DbContextErrorEventData)

Wird aufgerufen, wenn in eine Ausnahme ausgelöst DbContext.SaveChanges wurde.

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

Wird aufgerufen, wenn in eine Ausnahme ausgelöst DbContext.SaveChangesAsync wurde.

SavedChanges(SaveChangesCompletedEventData, Int32)

Wird am Ende von DbContext.SaveChanges aufgerufen.

Diese Methode wird weiterhin aufgerufen, wenn ein Interceptor die Erstellung eines Befehls in unterdrückt SavingChanges(DbContextEventData, InterceptionResult<Int32>) hat. In diesem Fall result ist das von zurückgegebene SavingChanges(DbContextEventData, InterceptionResult<Int32>) Ergebnis.

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

Wird am Ende von DbContext.SaveChangesAsync aufgerufen.

Diese Methode wird weiterhin aufgerufen, wenn ein Interceptor die Erstellung eines Befehls in unterdrückt SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken) hat. In diesem Fall result ist das von zurückgegebene SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken) Ergebnis.

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

Wird am Anfang von DbContext.SaveChanges aufgerufen.

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

Wird am Anfang von DbContext.SaveChangesAsync aufgerufen.

Gilt für: