ChangeTracker.TrackGraph Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
TrackGraph(Object, Action<EntityEntryGraphNode>) |
Начинает отслеживание сущности и всех сущностей, доступных путем обхода ее свойств навигации.
Обход является рекурсивным, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться.
Указанный |
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>) |
Начинает отслеживание сущности и всех сущностей, доступных путем обхода ее свойств навигации.
Обход является рекурсивным, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться.
Указанный |
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>) |
Начинает отслеживание сущности и всех сущностей, доступных путем обхода ее свойств навигации.
Обход является рекурсивным, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться.
Указанный Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения в сущностях. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова. Обычно обход графа должен останавливаться при обнаружении уже отслеживаемой сущности или при достижении сущности, которую не следует отслеживать. Для этого типичного поведения используйте перегрузку TrackGraph(Object, Action<EntityEntryGraphNode>) . Эта перегрузка, с другой стороны, позволяет обратному вызову решить, когда завершится обход, но затем нагрузка на вызывающий объект, чтобы гарантировать, что обход не будет входить в бесконечный цикл. |
TrackGraph(Object, Action<EntityEntryGraphNode>)
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
Начинает отслеживание сущности и всех сущностей, доступных путем обхода ее свойств навигации.
Обход является рекурсивным, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться.
Указанный 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 необходимо задать .
Комментарии
Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения в сущностях. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.
Если обнаружена сущность, которая уже отслеживается контекстом, эта сущность не обрабатывается (и ее свойства навигации не просматриваются).
Дополнительные сведения и примеры см. в статье Отслеживание изменений EF Core .
Применяется к
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>)
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
Начинает отслеживание сущности и всех сущностей, доступных путем обхода ее свойств навигации.
Обход является рекурсивным, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться.
Указанный 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
.
Комментарии
Этот метод предназначен для использования в отключенных сценариях, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, в которой один вызов службы извлекает сущности из базы данных, а другой вызов службы сохраняет любые изменения в сущностях. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.
Обычно обход графа должен останавливаться при обнаружении уже отслеживаемой сущности или при достижении сущности, которую не следует отслеживать. Для этого типичного поведения используйте перегрузку TrackGraph(Object, Action<EntityEntryGraphNode>) . Эта перегрузка, с другой стороны, позволяет обратному вызову решить, когда завершится обход, но затем нагрузка на вызывающий объект, чтобы гарантировать, что обход не будет входить в бесконечный цикл.
Дополнительные сведения и примеры см. в статье Отслеживание изменений EF Core .
Применяется к
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>)
- Исходный код:
- ChangeTracker.cs
- Исходный код:
- ChangeTracker.cs
Начинает отслеживание сущности и всех сущностей, доступных путем обхода ее свойств навигации.
Обход является рекурсивным, поэтому свойства навигации всех обнаруженных сущностей также будут проверяться.
Указанный 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
.
Применяется к
Entity Framework