ChangeTracker.TrackGraph 方法

定義

多載

TrackGraph(Object, Action<EntityEntryGraphNode>)

藉由周遊實體導覽屬性,開始追蹤實體和可連線的任何實體。 周遊是遞迴的,因此也會掃描任何探索到實體的導覽屬性。 系統會針對每個探索到的實體呼叫指定的 callback ,而且必須設定 State 應該追蹤每個實體的 。 如果未設定狀態,實體會維持未追蹤狀態。

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

藉由周遊實體導覽屬性,開始追蹤實體和可連線的任何實體。 周遊是遞迴的,因此也會掃描任何探索到實體的導覽屬性。 系統會針對每個探索到的實體呼叫指定的 callback ,而且必須設定 State 應該追蹤每個實體的 。 如果未設定狀態,實體會維持未追蹤狀態。

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

藉由周遊實體導覽屬性,開始追蹤實體和可連線的任何實體。 周遊是遞迴的,因此也會掃描任何探索到實體的導覽屬性。 系統會針對每個探索到的實體呼叫指定的 callback ,而且必須設定 State 應該追蹤每個實體的 。 如果未設定狀態,實體會維持未追蹤狀態。

這個方法的設計目的是在已中斷連線的案例中使用,其中實體是使用某個內容實例來擷取,然後使用內容的不同實例來儲存變更。 其中一個範例是 Web 服務,其中一個服務呼叫會從資料庫擷取實體,而另一個服務呼叫會保存實體的任何變更。 每個服務呼叫都會使用在呼叫完成時處置之內容的新實例。

圖形的周遊通常會在遇到已追蹤的實體或到達不應追蹤的實體時停止。 針對此一般行為,請使用 TrackGraph(Object, Action<EntityEntryGraphNode>) 多載。 另一方面,這個多載可讓回呼決定周遊何時結束,但 onus 則位於呼叫端,以確保周遊不會進入無限迴圈。

TrackGraph(Object, Action<EntityEntryGraphNode>)

藉由周遊實體導覽屬性,開始追蹤實體和可連線的任何實體。 周遊是遞迴的,因此也會掃描任何探索到實體的導覽屬性。 系統會針對每個探索到的實體呼叫指定的 callback ,而且必須設定 State 應該追蹤每個實體的 。 如果未設定狀態,實體會維持未追蹤狀態。

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

參數

rootEntity
Object

要從中開始周遊的實體。

callback
Action<EntityEntryGraphNode>

設定每個實體之變更追蹤資訊的動作。 若要讓實體開始追蹤, State 必須設定 。

備註

這個方法的設計目的是在已中斷連線的案例中使用,其中實體是使用某個內容實例來擷取,然後使用內容的不同實例來儲存變更。 其中一個範例是 Web 服務,其中一個服務呼叫會從資料庫擷取實體,而另一個服務呼叫會保存實體的任何變更。 每個服務呼叫都會使用在呼叫完成時處置之內容的新實例。

如果發現內容已經追蹤的實體,該實體就不會在 (處理,而且不會周遊其導覽屬性) 。

如需詳細資訊和範例,請參閱 EF Core 變更追蹤

適用於

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

藉由周遊實體導覽屬性,開始追蹤實體和可連線的任何實體。 周遊是遞迴的,因此也會掃描任何探索到實體的導覽屬性。 系統會針對每個探索到的實體呼叫指定的 callback ,而且必須設定 State 應該追蹤每個實體的 。 如果未設定狀態,實體會維持未追蹤狀態。

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

類型參數

TState

狀態物件的型別。

參數

rootEntity
Object

要從中開始周遊的實體。

state
TState

傳遞至回呼的任意狀態物件。

callback
Func<EntityEntryGraphNode<TState>,Boolean>

委派,用來設定每個實體的變更追蹤資訊。 回呼的第二個參數是上面傳遞的任意狀態物件。 如果回呼傳 false 回 ,圖形的反復專案將不會繼續向下。

備註

這個方法的設計目的是在已中斷連線的案例中使用,其中實體是使用某個內容實例來擷取,然後使用內容的不同實例來儲存變更。 其中一個範例是 Web 服務,其中一個服務呼叫會從資料庫擷取實體,而另一個服務呼叫會保存實體的任何變更。 每個服務呼叫都會使用在呼叫完成時處置之內容的新實例。

圖形的周遊通常會在遇到已追蹤的實體或到達不應追蹤的實體時停止。 針對此一般行為,請使用 TrackGraph(Object, Action<EntityEntryGraphNode>) 多載。 另一方面,這個多載可讓回呼決定周遊何時結束,但 onus 則位於呼叫端,以確保周遊不會進入無限迴圈。

如需詳細資訊和範例,請參閱 EF Core 變更追蹤

適用於

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

藉由周遊實體導覽屬性,開始追蹤實體和可連線的任何實體。 周遊是遞迴的,因此也會掃描任何探索到實體的導覽屬性。 系統會針對每個探索到的實體呼叫指定的 callback ,而且必須設定 State 應該追蹤每個實體的 。 如果未設定狀態,實體會維持未追蹤狀態。

這個方法的設計目的是在已中斷連線的案例中使用,其中實體是使用某個內容實例來擷取,然後使用內容的不同實例來儲存變更。 其中一個範例是 Web 服務,其中一個服務呼叫會從資料庫擷取實體,而另一個服務呼叫會保存實體的任何變更。 每個服務呼叫都會使用在呼叫完成時處置之內容的新實例。

圖形的周遊通常會在遇到已追蹤的實體或到達不應追蹤的實體時停止。 針對此一般行為,請使用 TrackGraph(Object, Action<EntityEntryGraphNode>) 多載。 另一方面,這個多載可讓回呼決定周遊何時結束,但 onus 則位於呼叫端,以確保周遊不會進入無限迴圈。

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

類型參數

TState

狀態物件的型別。

參數

rootEntity
Object

要從中開始周遊的實體。

state
TState

傳遞至回呼的任意狀態物件。

callback
Func<EntityEntryGraphNode,TState,Boolean>

委派,用來設定每個實體的變更追蹤資訊。 回呼的第二個參數是上面傳遞的任意狀態物件。 如果回呼傳 false 回 ,圖形的反復專案將不會繼續向下。

適用於