ChangeTracker.TrackGraph Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
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 |
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 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
.