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
| Nazwisko | Opis |
|---|---|
| TrackGraph(Object, Action<EntityEntryGraphNode>) |
Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez jej właściwości nawigacji.
Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane.
|
| TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>) |
Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez jej właściwości nawigacji.
Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane.
Ta metoda jest przeznaczona do użycia w scenariuszach bez połączenia, 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 utrwala 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 grafu powinno zostać zatrzymane przy każdym napotkaniu już śledzonej jednostki lub osiągnięciu jednostki, która nie powinna być śledzona. W przypadku tego typowego zachowania użyj TrackGraph(Object, Action<EntityEntryGraphNode>) przeciążenia. To przeciążenie, z drugiej strony, umożliwia wywołaniu zwrotnemu podjęcie decyzji o zakończeniu przechodzenia, ale onus jest następnie na obiekcie wywołującym, aby upewnić się, że przechodzenie nie wejdzie w nieskończoną pętlę. |
| TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>) |
Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez jej właściwości nawigacji.
Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane.
|
TrackGraph(Object, Action<EntityEntryGraphNode>)
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez jej właściwości nawigacji.
Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane.
callback Określony element jest wywoływany dla każdej odnalezionej jednostki i musi ustawićState, że każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje nieśledzona.
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 z.
- callback
- Action<EntityEntryGraphNode>
Akcja konfigurowania informacji śledzenia zmian dla każdej jednostki. Aby jednostka rozpoczynała śledzenie, należy ustawić wartość State .
Uwagi
Ta metoda jest przeznaczona do użycia w scenariuszach bez połączenia, 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 utrwala 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 zostanie odnaleziona jednostka, która jest już śledzona przez kontekst, ta jednostka nie jest przetwarzana (a jej właściwości nawigacji nie są traversed).
Aby uzyskać więcej informacji i przykładów, zobacz Śledzenie zmian platformy EF Core .
Dotyczy
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>)
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez jej właściwości nawigacji.
Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane.
callback Określony element jest wywoływany dla każdej odnalezionej jednostki i musi ustawićState, że każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje nieśledzona.
Ta metoda jest przeznaczona do użycia w scenariuszach bez połączenia, 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 utrwala 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 grafu powinno zostać zatrzymane przy każdym napotkaniu już śledzonej jednostki lub osiągnięciu jednostki, która nie powinna być śledzona. W przypadku tego typowego zachowania użyj TrackGraph(Object, Action<EntityEntryGraphNode>) przeciążenia. To przeciążenie, z drugiej strony, umożliwia wywołaniu zwrotnemu podjęcie decyzji o zakończeniu przechodzenia, ale onus jest następnie na obiekcie 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 z.
- state
- TState
Dowolny obiekt stanu przekazany do wywołania zwrotnego.
- callback
- Func<EntityEntryGraphNode,TState,Boolean>
Pełnomocnik do konfigurowania informacji śledzenia 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
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>)
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
- Źródło:
- ChangeTracker.cs
Rozpoczyna śledzenie jednostki i wszystkich jednostek, które są osiągalne, przechodząc przez jej właściwości nawigacji.
Przechodzenie jest rekursywne, więc właściwości nawigacji wszystkich odnalezionych jednostek również zostaną zeskanowane.
callback Określony element jest wywoływany dla każdej odnalezionej jednostki i musi ustawićState, że każda jednostka powinna być śledzona. Jeśli nie ustawiono żadnego stanu, jednostka pozostaje nieśledzona.
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 z.
- state
- TState
Dowolny obiekt stanu przekazany do wywołania zwrotnego.
- callback
- Func<EntityEntryGraphNode<TState>,Boolean>
Pełnomocnik do konfigurowania informacji śledzenia 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 bez połączenia, 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 utrwala 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 grafu powinno zostać zatrzymane przy każdym napotkaniu już śledzonej jednostki lub osiągnięciu jednostki, która nie powinna być śledzona. W przypadku tego typowego zachowania użyj TrackGraph(Object, Action<EntityEntryGraphNode>) przeciążenia. To przeciążenie, z drugiej strony, umożliwia wywołaniu zwrotnemu podjęcie decyzji o zakończeniu przechodzenia, ale onus jest następnie na obiekcie 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 .