다음을 통해 공유


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 추적해야 하는 를 설정해야 합니다. 상태가 설정되지 않은 경우 엔터티는 추적되지 않은 상태로 유지됩니다.

이 메서드는 컨텍스트의 한 instance 사용하여 엔터티를 검색한 다음 컨텍스트의 다른 instance 사용하여 변경 내용을 저장하는 연결이 끊긴 시나리오에서 사용하도록 설계되었습니다. 예를 들어 한 서비스 호출이 데이터베이스에서 엔터티를 검색하고 다른 서비스 호출이 엔터티에 대한 변경 내용을 유지하는 웹 서비스입니다. 각 서비스 호출은 호출이 완료될 때 삭제되는 컨텍스트의 새 instance 사용합니다.

일반적으로 그래프의 통과는 이미 추적된 엔터티가 발견되거나 추적해서는 안 되는 엔터티에 도달할 때마다 중지되어야 합니다. 이 일반적인 동작의 경우 오버로드를 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 설정해야 합니다.

설명

이 메서드는 컨텍스트의 한 instance 사용하여 엔터티를 검색한 다음 컨텍스트의 다른 instance 사용하여 변경 내용을 저장하는 연결이 끊긴 시나리오에서 사용하도록 설계되었습니다. 예를 들어 한 서비스 호출이 데이터베이스에서 엔터티를 검색하고 다른 서비스 호출이 엔터티에 대한 변경 내용을 유지하는 웹 서비스입니다. 각 서비스 호출은 호출이 완료될 때 삭제되는 컨텍스트의 새 instance 사용합니다.

컨텍스트에서 이미 추적된 엔터티가 검색된 경우 해당 엔터티는 처리되지 않고 탐색 속성은 트래버스되지 않습니다.

자세한 내용 및 예제 는 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하는 경우 그래프의 반복은 그래프 아래로 계속 진행되지 않습니다.

설명

이 메서드는 컨텍스트의 한 instance 사용하여 엔터티를 검색한 다음 컨텍스트의 다른 instance 사용하여 변경 내용을 저장하는 연결이 끊긴 시나리오에서 사용하도록 설계되었습니다. 예를 들어 한 서비스 호출이 데이터베이스에서 엔터티를 검색하고 다른 서비스 호출이 엔터티에 대한 변경 내용을 유지하는 웹 서비스입니다. 각 서비스 호출은 호출이 완료될 때 삭제되는 컨텍스트의 새 instance 사용합니다.

일반적으로 그래프의 통과는 이미 추적된 엔터티가 발견되거나 추적해서는 안 되는 엔터티에 도달할 때마다 중지되어야 합니다. 이 일반적인 동작의 경우 오버로드를 TrackGraph(Object, Action<EntityEntryGraphNode>) 사용합니다. 반면에 이 오버로드는 콜백이 트래버스가 종료되는 시기를 결정할 수 있지만, 통과가 무한 루프로 들어가지 않도록 호출자에 onus가 있습니다.

자세한 내용 및 예제 는 EF Core 변경 내용 추적 을 참조하세요.

적용 대상

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

탐색 속성을 트래버스하여 연결할 수 있는 엔터티 및 엔터티 추적을 시작합니다. 순회는 재귀적이므로 검색된 엔터티의 탐색 속성도 검사됩니다. 지정된 는 검색된 callback 각 엔터티에 대해 호출되며 각 엔터티를 State 추적해야 하는 를 설정해야 합니다. 상태가 설정되지 않은 경우 엔터티는 추적되지 않은 상태로 유지됩니다.

이 메서드는 컨텍스트의 한 instance 사용하여 엔터티를 검색한 다음 컨텍스트의 다른 instance 사용하여 변경 내용을 저장하는 연결이 끊긴 시나리오에서 사용하도록 설계되었습니다. 예를 들어 한 서비스 호출이 데이터베이스에서 엔터티를 검색하고 다른 서비스 호출이 엔터티에 대한 변경 내용을 유지하는 웹 서비스입니다. 각 서비스 호출은 호출이 완료될 때 삭제되는 컨텍스트의 새 instance 사용합니다.

일반적으로 그래프의 통과는 이미 추적된 엔터티가 발견되거나 추적해서는 안 되는 엔터티에 도달할 때마다 중지되어야 합니다. 이 일반적인 동작의 경우 오버로드를 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하는 경우 그래프의 반복은 그래프 아래로 계속 진행되지 않습니다.

적용 대상