ChangeTracker.TrackGraph メソッド

定義

オーバーロード

TrackGraph(Object, Action<EntityEntryGraphNode>)

ナビゲーション プロパティを走査することで、エンティティと到達可能なエンティティの追跡を開始します。 トラバーサルは再帰的であるため、検出されたエンティティのナビゲーション プロパティもスキャンされます。 指定された callback は、検出された各エンティティに対して呼び出され、各エンティティを State 追跡する必要がある を設定する必要があります。 状態が設定されていない場合、エンティティは追跡されません。

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>)

ナビゲーション プロパティを走査することで、エンティティと到達可能なエンティティの追跡を開始します。 トラバーサルは再帰的であるため、検出されたエンティティのナビゲーション プロパティもスキャンされます。 指定された callback は、検出された各エンティティに対して呼び出され、各エンティティを State 追跡する必要がある を設定する必要があります。 状態が設定されていない場合、エンティティは追跡されません。

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>)

ナビゲーション プロパティを走査することで、エンティティと到達可能なエンティティの追跡を開始します。 トラバーサルは再帰的であるため、検出されたエンティティのナビゲーション プロパティもスキャンされます。 指定された callback は、検出された各エンティティに対して呼び出され、各エンティティを State 追跡する必要がある を設定する必要があります。 状態が設定されていない場合、エンティティは追跡されません。

このメソッドは、コンテキストの 1 つのインスタンスを使用してエンティティが取得され、コンテキストの別のインスタンスを使用して変更が保存される、切断されたシナリオで使用するように設計されています。 この例は、あるサービス呼び出しがデータベースからエンティティを取得し、別のサービス呼び出しがエンティティに対する変更を保持する Web サービスです。 各サービス呼び出しでは、呼び出しが完了したときに破棄されるコンテキストの新しいインスタンスが使用されます。

通常、グラフのトラバーサルは、既に追跡されているエンティティが見つかった場合、または追跡すべきではないエンティティに到達するたびに停止する必要があります。 この一般的な動作では、 オーバーロードを使用します TrackGraph(Object, Action<EntityEntryGraphNode>) 。 一方、このオーバーロードを使用すると、コールバックはトラバーサルがいつ終了するかを決定できますが、トラバーサルが無限ループに入らないようにするため、onus は呼び出し元にあります。

TrackGraph(Object, Action<EntityEntryGraphNode>)

ナビゲーション プロパティを走査することで、エンティティと到達可能なエンティティの追跡を開始します。 トラバーサルは再帰的であるため、検出されたエンティティのナビゲーション プロパティもスキャンされます。 指定された callback は、検出された各エンティティに対して呼び出され、各エンティティを State 追跡する必要がある を設定する必要があります。 状態が設定されていない場合、エンティティは追跡されません。

public virtual void TrackGraph (object rootEntity, Action<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode> callback);
abstract member TrackGraph : obj * Action<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode> -> unit
override this.TrackGraph : obj * Action<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode> -> unit
Public Overridable Sub TrackGraph (rootEntity As Object, callback As Action(Of EntityEntryGraphNode))

パラメーター

rootEntity
Object

トラバーサルを開始するエンティティ。

callback
Action<EntityEntryGraphNode>

各エンティティの変更追跡情報を構成するアクション。 エンティティの追跡を開始するには、 を State 設定する必要があります。

注釈

このメソッドは、コンテキストの 1 つのインスタンスを使用してエンティティが取得され、コンテキストの別のインスタンスを使用して変更が保存される、切断されたシナリオで使用するように設計されています。 この例は、あるサービス呼び出しがデータベースからエンティティを取得し、別のサービス呼び出しがエンティティに対する変更を保持する Web サービスです。 各サービス呼び出しでは、呼び出しが完了したときに破棄されるコンテキストの新しいインスタンスが使用されます。

コンテキストによって既に追跡されているエンティティが検出された場合、そのエンティティは処理されません (また、そのナビゲーション プロパティは走査されません)。

詳細と例については、「 EF Core の変更の追跡 」を参照してください。

適用対象

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>)

ナビゲーション プロパティを走査することで、エンティティと到達可能なエンティティの追跡を開始します。 トラバーサルは再帰的であるため、検出されたエンティティのナビゲーション プロパティもスキャンされます。 指定された callback は、検出された各エンティティに対して呼び出され、各エンティティを State 追跡する必要がある を設定する必要があります。 状態が設定されていない場合、エンティティは追跡されません。

public virtual void TrackGraph<TState> (object rootEntity, TState state, Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<TState>,bool> callback);
public virtual void TrackGraph<TState> (object rootEntity, TState? state, Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<TState>,bool> callback);
abstract member TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<'State>, bool> -> unit
override this.TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode<'State>, bool> -> unit
Public Overridable Sub TrackGraph(Of TState) (rootEntity As Object, state As TState, callback As Func(Of EntityEntryGraphNode(Of TState), Boolean))

型パラメーター

TState

状態オブジェクトの型。

パラメーター

rootEntity
Object

トラバーサルを開始するエンティティ。

state
TState

コールバックに渡される任意の状態オブジェクト。

callback
Func<EntityEntryGraphNode<TState>,Boolean>

各エンティティの変更追跡情報を構成するデリゲート。 コールバックの 2 番目のパラメーターは、上記で渡された任意の状態オブジェクトです。 コールバックから が返 falseされた場合、グラフの反復はグラフを下に進めなくなります。

注釈

このメソッドは、コンテキストの 1 つのインスタンスを使用してエンティティが取得され、コンテキストの別のインスタンスを使用して変更が保存される、切断されたシナリオで使用するように設計されています。 この例は、あるサービス呼び出しがデータベースからエンティティを取得し、別のサービス呼び出しがエンティティに対する変更を保持する Web サービスです。 各サービス呼び出しでは、呼び出しが完了したときに破棄されるコンテキストの新しいインスタンスが使用されます。

通常、グラフのトラバーサルは、既に追跡されているエンティティが見つかった場合、または追跡すべきではないエンティティに到達するたびに停止する必要があります。 この一般的な動作では、 オーバーロードを使用します TrackGraph(Object, Action<EntityEntryGraphNode>) 。 一方、このオーバーロードを使用すると、コールバックはトラバーサルがいつ終了するかを決定できますが、トラバーサルが無限ループに入らないようにするため、onus は呼び出し元にあります。

詳細と例については、「 EF Core の変更の追跡 」を参照してください。

適用対象

TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>)

ナビゲーション プロパティを走査することで、エンティティと到達可能なエンティティの追跡を開始します。 トラバーサルは再帰的であるため、検出されたエンティティのナビゲーション プロパティもスキャンされます。 指定された callback は、検出された各エンティティに対して呼び出され、各エンティティを State 追跡する必要がある を設定する必要があります。 状態が設定されていない場合、エンティティは追跡されません。

このメソッドは、コンテキストの 1 つのインスタンスを使用してエンティティが取得され、コンテキストの別のインスタンスを使用して変更が保存される、切断されたシナリオで使用するように設計されています。 この例は、あるサービス呼び出しがデータベースからエンティティを取得し、別のサービス呼び出しがエンティティに対する変更を保持する Web サービスです。 各サービス呼び出しでは、呼び出しが完了したときに破棄されるコンテキストの新しいインスタンスが使用されます。

通常、グラフのトラバーサルは、既に追跡されているエンティティが見つかった場合、または追跡すべきではないエンティティに到達するたびに停止する必要があります。 この一般的な動作では、 オーバーロードを使用します TrackGraph(Object, Action<EntityEntryGraphNode>) 。 一方、このオーバーロードを使用すると、コールバックはトラバーサルがいつ終了するかを決定できますが、トラバーサルが無限ループに入らないようにするため、onus は呼び出し元にあります。

public virtual void TrackGraph<TState> (object rootEntity, TState state, Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode,TState,bool> callback);
abstract member TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode, 'State, bool> -> unit
override this.TrackGraph : obj * 'State * Func<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntryGraphNode, 'State, bool> -> unit
Public Overridable Sub TrackGraph(Of TState) (rootEntity As Object, state As TState, callback As Func(Of EntityEntryGraphNode, TState, Boolean))

型パラメーター

TState

状態オブジェクトの型。

パラメーター

rootEntity
Object

トラバーサルを開始するエンティティ。

state
TState

コールバックに渡される任意の状態オブジェクト。

callback
Func<EntityEntryGraphNode,TState,Boolean>

各エンティティの変更追跡情報を構成するデリゲート。 コールバックの 2 番目のパラメーターは、上記で渡された任意の状態オブジェクトです。 コールバックから が返 falseされた場合、グラフの反復はグラフを下に進めなくなります。

適用対象