Share via


ChangeTracker.TrackGraph Metodo

Definizione

Overload

TrackGraph(Object, Action<EntityEntryGraphNode>)

Inizia a tenere traccia di un'entità e di tutte le entità raggiungibili passando le proprietà di spostamento. L'attraversamento è ricorsivo, pertanto verranno analizzate anche le proprietà di spostamento di qualsiasi entità individuata. L'oggetto specificato callback viene chiamato per ogni entità individuata e deve impostare l'oggetto State in cui deve essere rilevata ogni entità. Se non viene impostato alcun stato, l'entità rimane non tracciata.

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

Inizia a tenere traccia di un'entità e di tutte le entità raggiungibili passando le proprietà di spostamento. L'attraversamento è ricorsivo, pertanto verranno analizzate anche le proprietà di spostamento di qualsiasi entità individuata. L'oggetto specificato callback viene chiamato per ogni entità individuata e deve impostare l'oggetto State in cui deve essere rilevata ogni entità. Se non viene impostato alcun stato, l'entità rimane non tracciata.

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

Inizia a tenere traccia di un'entità e di tutte le entità raggiungibili passando le proprietà di spostamento. L'attraversamento è ricorsivo, pertanto verranno analizzate anche le proprietà di spostamento di qualsiasi entità individuata. L'oggetto specificato callback viene chiamato per ogni entità individuata e deve impostare l'oggetto State in cui deve essere rilevata ogni entità. Se non viene impostato alcun stato, l'entità rimane non tracciata.

Questo metodo è progettato per l'uso in scenari disconnessi in cui le entità vengono recuperate usando un'istanza del contesto e quindi le modifiche vengono salvate usando un'istanza diversa del contesto. Un esempio di questo è un servizio Web in cui una chiamata di servizio recupera entità dal database e un'altra chiamata di servizio mantiene persistenti le modifiche apportate alle entità. Ogni chiamata al servizio usa una nuova istanza del contesto eliminata al termine della chiamata.

In genere l'attraversamento del grafico deve arrestarsi ogni volta che viene rilevata un'entità già tracciata o quando viene raggiunta un'entità che non deve essere tracciata. Per questo comportamento tipico, usare l'overload TrackGraph(Object, Action<EntityEntryGraphNode>) . Questo overload, d'altra parte, consente al callback di decidere quando l'attraversamento termina, ma l'ono è quindi sul chiamante per assicurarsi che l'attraversamento non entrare in un ciclo infinito.

TrackGraph(Object, Action<EntityEntryGraphNode>)

Inizia a tenere traccia di un'entità e di tutte le entità raggiungibili passando le proprietà di spostamento. L'attraversamento è ricorsivo, pertanto verranno analizzate anche le proprietà di spostamento di qualsiasi entità individuata. L'oggetto specificato callback viene chiamato per ogni entità individuata e deve impostare l'oggetto State in cui deve essere rilevata ogni entità. Se non viene impostato alcun stato, l'entità rimane non tracciata.

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

Parametri

rootEntity
Object

Entità da cui iniziare l'attraversamento.

callback
Action<EntityEntryGraphNode>

Azione per configurare le informazioni di rilevamento delle modifiche per ogni entità. Per iniziare a tenere traccia dell'entità, è necessario impostare l'entità State .

Commenti

Questo metodo è progettato per l'uso in scenari disconnessi in cui le entità vengono recuperate usando un'istanza del contesto e quindi le modifiche vengono salvate usando un'istanza diversa del contesto. Un esempio di questo è un servizio Web in cui una chiamata di servizio recupera entità dal database e un'altra chiamata di servizio mantiene persistenti le modifiche apportate alle entità. Ogni chiamata al servizio usa una nuova istanza del contesto eliminata al termine della chiamata.

Se viene rilevata un'entità già tracciata dal contesto, tale entità non viene elaborata e le relative proprietà di spostamento non vengono attraversate.

Per altre informazioni ed esempi, vedere Rilevamento delle modifiche di EF Core .

Si applica a

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

Inizia a tenere traccia di un'entità e di tutte le entità raggiungibili passando le proprietà di spostamento. L'attraversamento è ricorsivo, pertanto verranno analizzate anche le proprietà di spostamento di qualsiasi entità individuata. L'oggetto specificato callback viene chiamato per ogni entità individuata e deve impostare l'oggetto State in cui deve essere rilevata ogni entità. Se non viene impostato alcun stato, l'entità rimane non tracciata.

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

Parametri di tipo

TState

Tipo dell'oggetto state.

Parametri

rootEntity
Object

Entità da cui iniziare l'attraversamento.

state
TState

Oggetto stato arbitrario passato al callback.

callback
Func<EntityEntryGraphNode<TState>,Boolean>

Delegato per configurare le informazioni di rilevamento delle modifiche per ogni entità. Il secondo parametro del callback è l'oggetto stato arbitrario passato sopra. L'iterazione del grafico non continuerà il grafico se il callback restituisce false.

Commenti

Questo metodo è progettato per l'uso in scenari disconnessi in cui le entità vengono recuperate usando un'istanza del contesto e quindi le modifiche vengono salvate usando un'istanza diversa del contesto. Un esempio di questo è un servizio Web in cui una chiamata di servizio recupera entità dal database e un'altra chiamata di servizio mantiene persistenti le modifiche apportate alle entità. Ogni chiamata al servizio usa una nuova istanza del contesto eliminata al termine della chiamata.

In genere l'attraversamento del grafico deve arrestarsi ogni volta che viene rilevata un'entità già tracciata o quando viene raggiunta un'entità che non deve essere tracciata. Per questo comportamento tipico, usare l'overload TrackGraph(Object, Action<EntityEntryGraphNode>) . Questo overload, d'altra parte, consente al callback di decidere quando l'attraversamento termina, ma l'ono è quindi sul chiamante per assicurarsi che l'attraversamento non entrare in un ciclo infinito.

Per altre informazioni ed esempi, vedere Rilevamento delle modifiche di EF Core .

Si applica a

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

Inizia a tenere traccia di un'entità e di tutte le entità raggiungibili passando le proprietà di spostamento. L'attraversamento è ricorsivo, pertanto verranno analizzate anche le proprietà di spostamento di qualsiasi entità individuata. L'oggetto specificato callback viene chiamato per ogni entità individuata e deve impostare l'oggetto State in cui deve essere rilevata ogni entità. Se non viene impostato alcun stato, l'entità rimane non tracciata.

Questo metodo è progettato per l'uso in scenari disconnessi in cui le entità vengono recuperate usando un'istanza del contesto e quindi le modifiche vengono salvate usando un'istanza diversa del contesto. Un esempio di questo è un servizio Web in cui una chiamata di servizio recupera entità dal database e un'altra chiamata di servizio mantiene persistenti le modifiche apportate alle entità. Ogni chiamata al servizio usa una nuova istanza del contesto eliminata al termine della chiamata.

In genere l'attraversamento del grafico deve arrestarsi ogni volta che viene rilevata un'entità già tracciata o quando viene raggiunta un'entità che non deve essere tracciata. Per questo comportamento tipico, usare l'overload TrackGraph(Object, Action<EntityEntryGraphNode>) . Questo overload, d'altra parte, consente al callback di decidere quando l'attraversamento termina, ma l'ono è quindi sul chiamante per assicurarsi che l'attraversamento non entrare in un ciclo infinito.

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

Parametri di tipo

TState

Tipo dell'oggetto state.

Parametri

rootEntity
Object

Entità da cui iniziare l'attraversamento.

state
TState

Oggetto stato arbitrario passato al callback.

callback
Func<EntityEntryGraphNode,TState,Boolean>

Delegato per configurare le informazioni di rilevamento delle modifiche per ogni entità. Il secondo parametro del callback è l'oggetto stato arbitrario passato sopra. L'iterazione del grafico non continuerà il grafico se il callback restituisce false.

Si applica a