Sdílet prostřednictvím


ChangeTracker.TrackGraph Metoda

Definice

Přetížení

TrackGraph(Object, Action<EntityEntryGraphNode>)

Začne sledovat entitu a všechny entity, které jsou dostupné procházením jejích navigačních vlastností. Procházení je rekurzivní, takže se budou kontrolovat i navigační vlastnosti všech zjištěných entit. Zadaná callback entita se volá pro každou zjištěnou entitu State a musí nastavit, že se má každá entita sledovat. Pokud není nastaven žádný stav, zůstane entita nesledovaná.

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

Začne sledovat entitu a všechny entity, které jsou dostupné procházením jejích navigačních vlastností. Procházení je rekurzivní, takže se budou kontrolovat i navigační vlastnosti všech zjištěných entit. Zadaná callback entita se volá pro každou zjištěnou entitu State a musí nastavit, že se má každá entita sledovat. Pokud není nastaven žádný stav, zůstane entita nesledovaná.

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

Začne sledovat entitu a všechny entity, které jsou dostupné procházením jejích navigačních vlastností. Procházení je rekurzivní, takže se budou kontrolovat i navigační vlastnosti všech zjištěných entit. Zadaná callback entita se volá pro každou zjištěnou entitu State a musí nastavit, že se má každá entita sledovat. Pokud není nastaven žádný stav, zůstane entita nesledovaná.

Tato metoda je určená pro použití v odpojených scénářích, kdy se entity načítají pomocí jedné instance kontextu a změny se pak ukládají pomocí jiné instance kontextu. Příkladem je webová služba, kde jedno volání služby načítá entity z databáze a druhé volání služby zachovává jakékoli změny entit. Každé volání služby používá novou instanci kontextu, která je uvolněna po dokončení volání.

Procházení grafu by se obvykle mělo zastavit vždy, když se narazí na již sledovanou entitu nebo když dojde k entitě, která by neměla být sledována. Pro toto typické chování použijte TrackGraph(Object, Action<EntityEntryGraphNode>) přetížení. Toto přetížení, na druhé straně, umožňuje zpětné volání rozhodnout, kdy procházení skončí, ale onus je pak na volajícím, aby se zajistilo, že procházení nevstoupí do nekonečné smyčky.

TrackGraph(Object, Action<EntityEntryGraphNode>)

Začne sledovat entitu a všechny entity, které jsou dostupné procházením jejích navigačních vlastností. Procházení je rekurzivní, takže se budou kontrolovat i navigační vlastnosti všech zjištěných entit. Zadaná callback entita se volá pro každou zjištěnou entitu State a musí nastavit, že se má každá entita sledovat. Pokud není nastaven žádný stav, zůstane entita nesledovaná.

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

Parametry

rootEntity
Object

Entita, od které se má začít procházení.

callback
Action<EntityEntryGraphNode>

Akce pro konfiguraci informací o sledování změn pro každou entitu Aby se entita začala sledovat, musí být nastavená State hodnota .

Poznámky

Tato metoda je určená pro použití v odpojených scénářích, kdy se entity načítají pomocí jedné instance kontextu a změny se pak ukládají pomocí jiné instance kontextu. Příkladem je webová služba, kde jedno volání služby načítá entity z databáze a druhé volání služby zachovává jakékoli změny entit. Každé volání služby používá novou instanci kontextu, která je uvolněna po dokončení volání.

Pokud se zjistí entita, která je již sledována kontextem, nezpracuje se (a její navigační vlastnosti se neprojdou).

Další informace a příklady najdete v tématu Sledování změn EF Core .

Platí pro

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

Začne sledovat entitu a všechny entity, které jsou dostupné procházením jejích navigačních vlastností. Procházení je rekurzivní, takže se budou kontrolovat i navigační vlastnosti všech zjištěných entit. Zadaná callback entita se volá pro každou zjištěnou entitu State a musí nastavit, že se má každá entita sledovat. Pokud není nastaven žádný stav, zůstane entita nesledovaná.

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

Parametry typu

TState

Typ objektu stavu.

Parametry

rootEntity
Object

Entita, od které se má začít procházení.

state
TState

Objekt libovolného stavu předaný zpětnému volání.

callback
Func<EntityEntryGraphNode<TState>,Boolean>

Delegát pro konfiguraci informací o sledování změn pro každou entitu. Druhým parametrem zpětného volání je objekt libovolného stavu předaný výše. Iterace grafu nebude pokračovat dolů v grafu, pokud zpětné volání vrátí false.

Poznámky

Tato metoda je určená pro použití v odpojených scénářích, kdy se entity načítají pomocí jedné instance kontextu a změny se pak ukládají pomocí jiné instance kontextu. Příkladem je webová služba, kde jedno volání služby načítá entity z databáze a druhé volání služby zachovává jakékoli změny entit. Každé volání služby používá novou instanci kontextu, která je uvolněna po dokončení volání.

Procházení grafu by se obvykle mělo zastavit vždy, když se narazí na již sledovanou entitu nebo když dojde k entitě, která by neměla být sledována. Pro toto typické chování použijte TrackGraph(Object, Action<EntityEntryGraphNode>) přetížení. Toto přetížení, na druhé straně, umožňuje zpětné volání rozhodnout, kdy procházení skončí, ale onus je pak na volajícím, aby se zajistilo, že procházení nevstoupí do nekonečné smyčky.

Další informace a příklady najdete v tématu Sledování změn EF Core .

Platí pro

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

Začne sledovat entitu a všechny entity, které jsou dostupné procházením jejích navigačních vlastností. Procházení je rekurzivní, takže se budou kontrolovat i navigační vlastnosti všech zjištěných entit. Zadaná callback entita se volá pro každou zjištěnou entitu State a musí nastavit, že se má každá entita sledovat. Pokud není nastaven žádný stav, zůstane entita nesledovaná.

Tato metoda je určená pro použití v odpojených scénářích, kdy se entity načítají pomocí jedné instance kontextu a změny se pak ukládají pomocí jiné instance kontextu. Příkladem je webová služba, kde jedno volání služby načítá entity z databáze a druhé volání služby zachovává jakékoli změny entit. Každé volání služby používá novou instanci kontextu, která je uvolněna po dokončení volání.

Procházení grafu by se obvykle mělo zastavit vždy, když se narazí na již sledovanou entitu nebo když dojde k entitě, která by neměla být sledována. Pro toto typické chování použijte TrackGraph(Object, Action<EntityEntryGraphNode>) přetížení. Toto přetížení, na druhé straně, umožňuje zpětné volání rozhodnout, kdy procházení skončí, ale onus je pak na volajícím, aby se zajistilo, že procházení nevstoupí do nekonečné smyčky.

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

Parametry typu

TState

Typ objektu stavu.

Parametry

rootEntity
Object

Entita, od které se má začít procházení.

state
TState

Objekt libovolného stavu předaný zpětnému volání.

callback
Func<EntityEntryGraphNode,TState,Boolean>

Delegát pro konfiguraci informací o sledování změn pro každou entitu. Druhým parametrem zpětného volání je objekt libovolného stavu předaný výše. Iterace grafu nebude pokračovat dolů v grafu, pokud zpětné volání vrátí false.

Platí pro