次の方法で共有


IIdentityResolutionInterceptor インターフェイス

定義

が新しいエンティティ インスタンスの追跡を開始したときに、ID 解決の競合の DbContext インターセプトを許可します。

public interface IIdentityResolutionInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type IIdentityResolutionInterceptor = interface
    interface IInterceptor
Public Interface IIdentityResolutionInterceptor
Implements IInterceptor
派生
実装

注釈

では DbContext 、特定の主キー値を持つエンティティ インスタンスを 1 つだけ追跡できます。 これは、同じキー値を持つエンティティの複数のインスタンスを 1 つのインスタンスに解決する必要があることを意味します。 この型のインターセプターを使用してこれを行うことができます。 これは、既存の追跡対象インスタンスと新しいインスタンスで呼び出され、新しいインスタンスから既存のインスタンスにプロパティ値とリレーションシップの変更を適用する必要があります。 その後、新しいインスタンスは破棄されます。

を使用して AddInterceptors(IInterceptor[]) 、アプリケーション インターセプターを登録します。

拡張機能では、インターセプターを内部サービス プロバイダーに登録することもできます。 挿入されたインターセプターとアプリケーション インターセプターの両方が見つかった場合、挿入されたインターセプターは、サービス プロバイダーから解決された順序で実行され、最後にアプリケーション インターセプターが実行されます。

詳細と例については、 EF Core インターセプターEF Core 変更追跡 に関するページを参照してください。

メソッド

UpdateTrackedInstance(IdentityResolutionInterceptionData, EntityEntry, Object)

既に DbContext 追跡されているインスタンスと同じ主キー値を持つエンティティの新しいインスタンスを追跡しようとすると呼び出されます。 このメソッドは、新しいインスタンスから既存のインスタンスにプロパティ値とリレーションシップの変更を適用する必要があります。 その後、新しいインスタンスは破棄されます。

適用対象