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