Udostępnij za pośrednictwem


ChangeTracker.TrackGraph Metoda

Definicja

Przeciążenia

TrackGraph(Object, Action<EntityEntryGraphNode>)

Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez przechodzenie jej właściwości nawigacji. Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane. Określona jednostka callback jest wywoływana dla każdej odnalezionej jednostki i musi ustawić, że State każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje niesądzona.

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

Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez przechodzenie jej właściwości nawigacji. Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane. Określona jednostka callback jest wywoływana dla każdej odnalezionej jednostki i musi ustawić, że State każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje niesądzona.

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

Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez przechodzenie jej właściwości nawigacji. Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane. Określona jednostka callback jest wywoływana dla każdej odnalezionej jednostki i musi ustawić, że State każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje niesądzona.

Ta metoda jest przeznaczona do użycia w scenariuszach rozłączonych, w których jednostki są pobierane przy użyciu jednego wystąpienia kontekstu, a następnie zmiany są zapisywane przy użyciu innego wystąpienia kontekstu. Przykładem jest usługa internetowa, w której jedno wywołanie usługi pobiera jednostki z bazy danych, a inne wywołanie usługi utrzymuje wszelkie zmiany w jednostkach. Każde wywołanie usługi używa nowego wystąpienia kontekstu, które jest usuwane po zakończeniu wywołania.

Zazwyczaj przechodzenie wykresu powinno zatrzymać się za każdym razem, gdy napotkana jest już śledzona jednostka lub gdy jednostka zostanie osiągnięta, która nie powinna być śledzona. W przypadku tego typowego zachowania użyj przeciążenia TrackGraph(Object, Action<EntityEntryGraphNode>) . To przeciążenie, z drugiej strony, umożliwia wywołaniu zwrotnemu podjęcie decyzji o zakończeniu przechodzenia, ale cebula jest następnie na wywołującym, aby upewnić się, że przechodzenie nie wejdzie w nieskończoną pętlę.

TrackGraph(Object, Action<EntityEntryGraphNode>)

Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez przechodzenie jej właściwości nawigacji. Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane. Określona jednostka callback jest wywoływana dla każdej odnalezionej jednostki i musi ustawić, że State każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje niesądzona.

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

Jednostka do rozpoczęcia przechodzenia od.

callback
Action<EntityEntryGraphNode>

Akcja konfigurowania informacji o śledzeniu zmian dla każdej jednostki. Aby jednostka zaczęła być śledzona, należy ustawić wartość State .

Uwagi

Ta metoda jest przeznaczona do użycia w scenariuszach rozłączonych, w których jednostki są pobierane przy użyciu jednego wystąpienia kontekstu, a następnie zmiany są zapisywane przy użyciu innego wystąpienia kontekstu. Przykładem jest usługa internetowa, w której jedno wywołanie usługi pobiera jednostki z bazy danych, a inne wywołanie usługi utrzymuje wszelkie zmiany w jednostkach. Każde wywołanie usługi używa nowego wystąpienia kontekstu, które jest usuwane po zakończeniu wywołania.

Jeśli jednostka zostanie odnaleziona, która jest już śledzona przez kontekst, ta jednostka nie jest przetwarzana (a jej właściwości nawigacji nie są przechodzine).

Aby uzyskać więcej informacji i przykładów, zobacz Śledzenie zmian platformy EF Core .

Dotyczy

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

Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez przechodzenie jej właściwości nawigacji. Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane. Określona jednostka callback jest wywoływana dla każdej odnalezionej jednostki i musi ustawić, że State każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje niesądzona.

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 obiektu stanu.

Parametry

rootEntity
Object

Jednostka do rozpoczęcia przechodzenia od.

state
TState

Dowolny obiekt stanu przekazany do wywołania zwrotnego.

callback
Func<EntityEntryGraphNode<TState>,Boolean>

Pełnomocnik do konfigurowania informacji o śledzeniu zmian dla każdej jednostki. Drugi parametr wywołania zwrotnego to dowolny obiekt stanu przekazany powyżej. Iteracja grafu nie będzie kontynuowana w dół grafu, jeśli wywołanie zwrotne zwróci wartość false.

Uwagi

Ta metoda jest przeznaczona do użycia w scenariuszach rozłączonych, w których jednostki są pobierane przy użyciu jednego wystąpienia kontekstu, a następnie zmiany są zapisywane przy użyciu innego wystąpienia kontekstu. Przykładem jest usługa internetowa, w której jedno wywołanie usługi pobiera jednostki z bazy danych, a inne wywołanie usługi utrzymuje wszelkie zmiany w jednostkach. Każde wywołanie usługi używa nowego wystąpienia kontekstu, które jest usuwane po zakończeniu wywołania.

Zazwyczaj przechodzenie wykresu powinno zatrzymać się za każdym razem, gdy napotkana jest już śledzona jednostka lub gdy jednostka zostanie osiągnięta, która nie powinna być śledzona. W przypadku tego typowego zachowania użyj przeciążenia TrackGraph(Object, Action<EntityEntryGraphNode>) . To przeciążenie, z drugiej strony, umożliwia wywołaniu zwrotnemu podjęcie decyzji o zakończeniu przechodzenia, ale cebula jest następnie na wywołującym, aby upewnić się, że przechodzenie nie wejdzie w nieskończoną pętlę.

Aby uzyskać więcej informacji i przykładów, zobacz Śledzenie zmian platformy EF Core .

Dotyczy

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

Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez przechodzenie jej właściwości nawigacji. Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane. Określona jednostka callback jest wywoływana dla każdej odnalezionej jednostki i musi ustawić, że State każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje niesądzona.

Ta metoda jest przeznaczona do użycia w scenariuszach rozłączonych, w których jednostki są pobierane przy użyciu jednego wystąpienia kontekstu, a następnie zmiany są zapisywane przy użyciu innego wystąpienia kontekstu. Przykładem jest usługa internetowa, w której jedno wywołanie usługi pobiera jednostki z bazy danych, a inne wywołanie usługi utrzymuje wszelkie zmiany w jednostkach. Każde wywołanie usługi używa nowego wystąpienia kontekstu, które jest usuwane po zakończeniu wywołania.

Zazwyczaj przechodzenie wykresu powinno zatrzymać się za każdym razem, gdy napotkana jest już śledzona jednostka lub gdy jednostka zostanie osiągnięta, która nie powinna być śledzona. W przypadku tego typowego zachowania użyj przeciążenia TrackGraph(Object, Action<EntityEntryGraphNode>) . To przeciążenie, z drugiej strony, umożliwia wywołaniu zwrotnemu podjęcie decyzji o zakończeniu przechodzenia, ale cebula jest następnie na wywołującym, aby upewnić się, że przechodzenie nie wejdzie w nieskończoną pętlę.

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 obiektu stanu.

Parametry

rootEntity
Object

Jednostka do rozpoczęcia przechodzenia od.

state
TState

Dowolny obiekt stanu przekazany do wywołania zwrotnego.

callback
Func<EntityEntryGraphNode,TState,Boolean>

Pełnomocnik do konfigurowania informacji o śledzeniu zmian dla każdej jednostki. Drugi parametr wywołania zwrotnego to dowolny obiekt stanu przekazany powyżej. Iteracja grafu nie będzie kontynuowana w dół grafu, jeśli wywołanie zwrotne zwróci wartość false.

Dotyczy