ChangeTracker.TrackGraph Метод

Определение

Перегрузки

TrackGraph(Object, Action<EntityEntryGraphNode>)

Начинает отслеживание сущности и любых сущностей, доступных путем обхода его свойств навигации. Обход рекурсивный, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться. Указанный callback вызывается для каждой обнаруженной сущности и должен задать State , в чем должна отслеживаться каждая сущность. Если состояние не задано, сущность остается неотслеченной.

Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения сущностей. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.

Если сущность обнаружена, которая уже отслеживается контекстом, эта сущность не обрабатывается (и ее свойства навигации не проходят).

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

Начинает отслеживание сущности и всех доступных сущностей путем обхода его свойств навигации. Обход рекурсивный, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться. Указанный callback вызывается для каждой обнаруженной сущности и должен задать State , в чем должна отслеживаться каждая сущность. Если состояние не задано, сущность остается неотслеченной.

Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения сущностей. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.

Обычно обход графа должен останавливаться при обнаружении уже отслеживаемой сущности или при достижении сущности, которая не должна отслеживаться. Для этого типичного поведения используйте перегрузку TrackGraph(Object, Action<EntityEntryGraphNode>) . С другой стороны, эта перегрузка позволяет обратному вызову принимать решение о завершении обхода, но езю затем находится на вызывающем объекте, чтобы гарантировать, что обход не будет входить в бесконечный цикл.

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

Начинает отслеживание сущности и любых сущностей, доступных путем обхода его свойств навигации. Обход рекурсивный, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться. Указанный callback вызывается для каждой обнаруженной сущности и должен задать State , в чем должна отслеживаться каждая сущность. Если состояние не задано, сущность остается неотслеченной.

Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения сущностей. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.

Обычно обход графа должен останавливаться при обнаружении уже отслеживаемой сущности или при достижении сущности, которая не должна отслеживаться. Для этого типичного поведения используйте перегрузку TrackGraph(Object, Action<EntityEntryGraphNode>) . С другой стороны, эта перегрузка позволяет обратному вызову принимать решение о завершении обхода, но езю затем находится на вызывающем объекте, чтобы гарантировать, что обход не будет входить в бесконечный цикл.

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 необходимо задать ее.

Применяется к

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

Начинает отслеживание сущности и всех доступных сущностей путем обхода его свойств навигации. Обход рекурсивный, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться. Указанный callback вызывается для каждой обнаруженной сущности и должен задать State , в чем должна отслеживаться каждая сущность. Если состояние не задано, сущность остается неотслеченной.

Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения сущностей. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.

Обычно обход графа должен останавливаться при обнаружении уже отслеживаемой сущности или при достижении сущности, которая не должна отслеживаться. Для этого типичного поведения используйте перегрузку TrackGraph(Object, Action<EntityEntryGraphNode>) . С другой стороны, эта перегрузка позволяет обратному вызову принимать решение о завершении обхода, но езю затем находится на вызывающем объекте, чтобы гарантировать, что обход не будет входить в бесконечный цикл.

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.

Применяется к

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

Начинает отслеживание сущности и любых сущностей, доступных путем обхода его свойств навигации. Обход рекурсивный, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться. Указанный callback вызывается для каждой обнаруженной сущности и должен задать State , в чем должна отслеживаться каждая сущность. Если состояние не задано, сущность остается неотслеченной.

Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения сущностей. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.

Обычно обход графа должен останавливаться при обнаружении уже отслеживаемой сущности или при достижении сущности, которая не должна отслеживаться. Для этого типичного поведения используйте перегрузку TrackGraph(Object, Action<EntityEntryGraphNode>) . С другой стороны, эта перегрузка позволяет обратному вызову принимать решение о завершении обхода, но езю затем находится на вызывающем объекте, чтобы гарантировать, что обход не будет входить в бесконечный цикл.

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.

Применяется к