Freigeben über


IIdentityResolutionInterceptor Schnittstelle

Definition

Ermöglicht das Abfangen von Identitätsauflösungskonflikten, wenn neue DbContext Entitätsinstanzen nachverfolgt werden.

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

Hinweise

A DbContext kann nur eine Entität instance mit einem bestimmten Primärschlüsselwert nachverfolgen. Dies bedeutet, dass mehrere Instanzen einer Entität mit demselben Schlüsselwert in eine einzelne instance aufgelöst werden müssen. Dazu kann ein Interceptor dieses Typs verwendet werden. Sie wird mit dem vorhandenen nachverfolgten instance und dem neuen instance aufgerufen und muss alle Eigenschaftenwerte und Beziehungsänderungen aus dem neuen instance auf die vorhandene instance anwenden. Die neue instance wird dann verworfen.

Verwenden Sie AddInterceptors(IInterceptor[]) zum Registrieren von Anwendungs-Interceptors.

Erweiterungen können auch Interceptors im internen Dienstanbieter registrieren. Wenn sowohl eingefügte als auch Anwendungs-Interceptors gefunden werden, werden die eingefügten Interceptors in der Reihenfolge ausgeführt, in der sie vom Dienstanbieter aufgelöst werden, und dann werden die Anwendungs-Interceptors zuletzt ausgeführt.

Weitere Informationen und Beispiele finden Sie unter EF Core-Interceptors und EF Core-Änderungsnachverfolgung .

Methoden

UpdateTrackedInstance(IdentityResolutionInterceptionData, EntityEntry, Object)

Wird aufgerufen, wenn ein DbContext versucht, eine neue instance einer Entität mit demselben Primärschlüsselwert wie eine bereits nachverfolgte instance. Diese Methode muss alle Eigenschaftenwerte und Beziehungsänderungen aus dem neuen instance auf die vorhandene instance anwenden. Die neue instance wird dann verworfen.

Gilt für: