ChangeTracker.TrackGraph 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
TrackGraph(Object, Action<EntityEntryGraphNode>) |
开始跟踪实体以及通过遍历其导航属性可访问的任何实体。
遍历是递归的,因此还将扫描任何发现的实体的导航属性。
为每个发现的实体调用指定的 |
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode<TState>,Boolean>) |
开始跟踪实体以及通过遍历其导航属性可访问的任何实体。
遍历是递归的,因此还将扫描任何发现的实体的导航属性。
为每个发现的实体调用指定的 |
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>) |
开始通过遍历实体的导航属性来跟踪实体和可访问的任何实体。
遍历是递归的,因此还将扫描任何发现的实体的导航属性。
为每个发现的实体调用指定的 此方法设计用于使用上下文的一个实例检索实体,然后使用上下文的不同实例保存更改的断开连接方案。 Web 服务的示例是一个 Web 服务,其中一个服务调用从数据库检索实体,另一个服务调用保留对实体的任何更改。 每个服务调用都使用在调用完成时释放的上下文的新实例。 通常,每当遇到已跟踪的实体或到达不应跟踪的实体时,图形的遍历应停止。 对于此典型行为,请使用 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 必须设置 。
注解
此方法设计用于使用上下文的一个实例检索实体,然后使用上下文的不同实例保存更改的断开连接方案。 Web 服务的示例是一个 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 服务的示例是一个 Web 服务,其中一个服务调用从数据库检索实体,另一个服务调用保留对实体的任何更改。 每个服务调用都使用在调用完成时释放的上下文的新实例。
通常,每当遇到已跟踪的实体或到达不应跟踪的实体时,图形的遍历应停止。 对于此典型行为,请使用 TrackGraph(Object, Action<EntityEntryGraphNode>) 重载。 另一方面,此重载允许回调决定遍历何时结束,但该重载位于调用方上,以确保遍历不会进入无限循环。
有关详细信息和示例,请参阅 EF Core 更改跟踪 。
适用于
TrackGraph<TState>(Object, TState, Func<EntityEntryGraphNode,TState,Boolean>)
开始通过遍历实体的导航属性来跟踪实体和可访问的任何实体。
遍历是递归的,因此还将扫描任何发现的实体的导航属性。
为每个发现的实体调用指定的 callback
,并且必须设置 State 应跟踪每个实体的 。 如果未设置任何状态,则实体将保持未跟踪状态。
此方法设计用于使用上下文的一个实例检索实体,然后使用上下文的不同实例保存更改的断开连接方案。 Web 服务的示例是一个 Web 服务,其中一个服务调用从数据库检索实体,另一个服务调用保留对实体的任何更改。 每个服务调用都使用在调用完成时释放的上下文的新实例。
通常,每当遇到已跟踪的实体或到达不应跟踪的实体时,图形的遍历应停止。 对于此典型行为,请使用 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
,则图的迭代不会继续向下。