Freigeben über


ChangeTracker.TrackGraph Methode

Definition

Überlädt

TrackGraph(Object, Action<EntityEntryGraphNode>)

Beginnt mit der Nachverfolgung einer Entität und aller Entitäten, die durch das Durchlaufen der Navigationseigenschaften erreichbar sind. Der Durchlauf ist rekursiv, sodass auch die Navigationseigenschaften aller ermittelten Entitäten überprüft werden. Der angegebene callback wird für jede ermittelte Entität aufgerufen und muss festlegen State , in der jede Entität nachverfolgt werden soll. Wenn kein Zustand festgelegt ist, bleibt die Entität nicht nachverfolgt.

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

Beginnt mit der Nachverfolgung einer Entität und aller Entitäten, die durch das Durchlaufen der Navigationseigenschaften erreichbar sind. Der Durchlauf ist rekursiv, sodass auch die Navigationseigenschaften aller ermittelten Entitäten überprüft werden. Der angegebene callback wird für jede ermittelte Entität aufgerufen und muss festlegen State , in der jede Entität nachverfolgt werden soll. Wenn kein Zustand festgelegt ist, bleibt die Entität nicht nachverfolgt.

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

Beginnt mit der Nachverfolgung einer Entität und aller Entitäten, die durch das Durchlaufen der Navigationseigenschaften erreichbar sind. Der Durchlauf ist rekursiv, sodass auch die Navigationseigenschaften aller ermittelten Entitäten überprüft werden. Der angegebene callback wird für jede ermittelte Entität aufgerufen und muss festlegen State , in der jede Entität nachverfolgt werden soll. Wenn kein Zustand festgelegt ist, bleibt die Entität nicht nachverfolgt.

Diese Methode ist für die Verwendung in getrennten Szenarien konzipiert, in denen Entitäten mithilfe einer instance des Kontexts abgerufen werden und Änderungen dann mit einem anderen instance des Kontexts gespeichert werden. Ein Beispiel hierfür ist ein Webdienst, bei dem ein Dienstaufruf Entitäten aus der Datenbank und ein anderer Dienstaufruf alle Änderungen an den Entitäten speichert. Jeder Dienstaufruf verwendet eine neue instance des Kontexts, der nach Abschluss des Aufrufs verworfen wird.

In der Regel sollte die Durchquerung des Diagramms beendet werden, wenn eine bereits nachverfolgte Entität gefunden wird oder wenn eine Entität erreicht wird, die nicht nachverfolgt werden sollte. Verwenden Sie für dieses typische Verhalten die TrackGraph(Object, Action<EntityEntryGraphNode>) Überladung. Diese Überladung ermöglicht es dem Rückruf hingegen, zu entscheiden, wann die Traversal endet, aber der Onus befindet sich dann auf dem Aufrufer, um sicherzustellen, dass traversal nicht in eine Endlosschleife wechselt.

TrackGraph(Object, Action<EntityEntryGraphNode>)

Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs

Beginnt mit der Nachverfolgung einer Entität und aller Entitäten, die durch das Durchlaufen der Navigationseigenschaften erreichbar sind. Der Durchlauf ist rekursiv, sodass auch die Navigationseigenschaften aller ermittelten Entitäten überprüft werden. Der angegebene callback wird für jede ermittelte Entität aufgerufen und muss festlegen State , in der jede Entität nachverfolgt werden soll. Wenn kein Zustand festgelegt ist, bleibt die Entität nicht nachverfolgt.

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))

Parameter

rootEntity
Object

Die Entität, von der aus mit der Durchquerung begonnen werden soll.

callback
Action<EntityEntryGraphNode>

Eine Aktion zum Konfigurieren der Änderungsnachverfolgungsinformationen für jede Entität. Damit die Entität nachverfolgt wird, muss festgelegt State werden.

Hinweise

Diese Methode ist für die Verwendung in getrennten Szenarien konzipiert, in denen Entitäten mithilfe einer instance des Kontexts abgerufen werden und Änderungen dann mit einem anderen instance des Kontexts gespeichert werden. Ein Beispiel hierfür ist ein Webdienst, bei dem ein Dienstaufruf Entitäten aus der Datenbank und ein anderer Dienstaufruf alle Änderungen an den Entitäten speichert. Jeder Dienstaufruf verwendet eine neue instance des Kontexts, der nach Abschluss des Aufrufs verworfen wird.

Wenn eine Entität ermittelt wird, die bereits vom Kontext nachverfolgt wird, wird diese Entität nicht verarbeitet (und ihre Navigationseigenschaften werden nicht durchlaufen).

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

Gilt für:

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

Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs

Beginnt mit der Nachverfolgung einer Entität und aller Entitäten, die durch das Durchlaufen der Navigationseigenschaften erreichbar sind. Der Durchlauf ist rekursiv, sodass auch die Navigationseigenschaften aller ermittelten Entitäten überprüft werden. Der angegebene callback wird für jede ermittelte Entität aufgerufen und muss festlegen State , in der jede Entität nachverfolgt werden soll. Wenn kein Zustand festgelegt ist, bleibt die Entität nicht nachverfolgt.

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))

Typparameter

TState

Der Typ des Zustandsobjekts.

Parameter

rootEntity
Object

Die Entität, von der aus mit der Durchquerung begonnen werden soll.

state
TState

Ein beliebiges Zustandsobjekt, das an den Rückruf übergeben wird.

callback
Func<EntityEntryGraphNode<TState>,Boolean>

Ein Delegat zum Konfigurieren der Änderungsnachverfolgungsinformationen für jede Entität. Der zweite Parameter für den Rückruf ist das oben übergebene Objekt des beliebigen Zustands. Die Iteration des Graphen wird nicht nach unten fortgesetzt, wenn der Rückruf zurückgibt false.

Hinweise

Diese Methode ist für die Verwendung in getrennten Szenarien konzipiert, in denen Entitäten mithilfe einer instance des Kontexts abgerufen werden und Änderungen dann mit einem anderen instance des Kontexts gespeichert werden. Ein Beispiel hierfür ist ein Webdienst, bei dem ein Dienstaufruf Entitäten aus der Datenbank und ein anderer Dienstaufruf alle Änderungen an den Entitäten speichert. Jeder Dienstaufruf verwendet eine neue instance des Kontexts, der nach Abschluss des Aufrufs verworfen wird.

In der Regel sollte die Durchquerung des Diagramms beendet werden, wenn eine bereits nachverfolgte Entität gefunden wird oder wenn eine Entität erreicht wird, die nicht nachverfolgt werden sollte. Verwenden Sie für dieses typische Verhalten die TrackGraph(Object, Action<EntityEntryGraphNode>) Überladung. Diese Überladung ermöglicht es dem Rückruf hingegen, zu entscheiden, wann die Traversal endet, aber der Onus befindet sich dann auf dem Aufrufer, um sicherzustellen, dass traversal nicht in eine Endlosschleife wechselt.

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

Gilt für:

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

Quelle:
ChangeTracker.cs
Quelle:
ChangeTracker.cs

Beginnt mit der Nachverfolgung einer Entität und aller Entitäten, die durch das Durchlaufen der Navigationseigenschaften erreichbar sind. Der Durchlauf ist rekursiv, sodass auch die Navigationseigenschaften aller ermittelten Entitäten überprüft werden. Der angegebene callback wird für jede ermittelte Entität aufgerufen und muss festlegen State , in der jede Entität nachverfolgt werden soll. Wenn kein Zustand festgelegt ist, bleibt die Entität nicht nachverfolgt.

Diese Methode ist für die Verwendung in getrennten Szenarien konzipiert, in denen Entitäten mithilfe einer instance des Kontexts abgerufen werden und Änderungen dann mit einem anderen instance des Kontexts gespeichert werden. Ein Beispiel hierfür ist ein Webdienst, bei dem ein Dienstaufruf Entitäten aus der Datenbank und ein anderer Dienstaufruf alle Änderungen an den Entitäten speichert. Jeder Dienstaufruf verwendet eine neue instance des Kontexts, der nach Abschluss des Aufrufs verworfen wird.

In der Regel sollte die Durchquerung des Diagramms beendet werden, wenn eine bereits nachverfolgte Entität gefunden wird oder wenn eine Entität erreicht wird, die nicht nachverfolgt werden sollte. Verwenden Sie für dieses typische Verhalten die TrackGraph(Object, Action<EntityEntryGraphNode>) Überladung. Diese Überladung ermöglicht es dem Rückruf hingegen, zu entscheiden, wann die Traversal endet, aber der Onus befindet sich dann auf dem Aufrufer, um sicherzustellen, dass traversal nicht in eine Endlosschleife wechselt.

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))

Typparameter

TState

Der Typ des Zustandsobjekts.

Parameter

rootEntity
Object

Die Entität, von der aus mit der Durchquerung begonnen werden soll.

state
TState

Ein beliebiges Zustandsobjekt, das an den Rückruf übergeben wird.

callback
Func<EntityEntryGraphNode,TState,Boolean>

Ein Delegat zum Konfigurieren der Änderungsnachverfolgungsinformationen für jede Entität. Der zweite Parameter für den Rückruf ist das oben übergebene Objekt des beliebigen Zustands. Die Iteration des Graphen wird nicht nach unten fortgesetzt, wenn der Rückruf zurückgibt false.

Gilt für: