Język

ChangeTracker.TrackGraph Metoda

Definicja

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

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. 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ę.

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

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 .

Dotyczy