ChangeTracker.TrackGraph Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 |
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 |
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 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
.