DbContext.AttachRange 方法

定义

重载

AttachRange(Object[])

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Unchanged 和条目,但有关将使用不同的状态的情况,请参阅下文。

AttachRange(IEnumerable<Object>)

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Unchanged 和条目,但有关将使用不同的状态的情况,请参阅下文。

AttachRange(Object[])

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Unchanged 和条目,但有关将使用不同的状态的情况,请参阅下文。

public virtual void AttachRange (params object[] entities);
abstract member AttachRange : obj[] -> unit
override this.AttachRange : obj[] -> unit
Public Overridable Sub AttachRange (ParamArray entities As Object())

参数

entities
Object[]

要附加的实体。

注解

通常,在调用 之前 SaveChanges() 不会执行数据库交互。

将执行导航属性的递归搜索,以查找上下文尚未跟踪的可访问实体。 找到的所有实体都将由上下文跟踪。

对于具有生成键的实体类型,如果实体设置了其主键值,则会在 状态中 Unchanged 跟踪它。 如果未设置主键值,则会在 状态中 Added 跟踪它。 这有助于确保仅插入新实体。 如果将主键属性设置为除属性类型的 CLR 默认值以外的任何值,则实体将被视为具有设置其主键值。

对于没有生成键的实体类型,状态集始终 Unchanged为 。

使用 State 仅设置单个实体的状态。

有关详细信息和示例,请参阅 EF Core 更改跟踪和使用 AddRange、UpdateRange、AttachRange 和 RemoveRange

适用于

AttachRange(IEnumerable<Object>)

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Unchanged 和条目,但有关将使用不同的状态的情况,请参阅下文。

public virtual void AttachRange (System.Collections.Generic.IEnumerable<object> entities);
abstract member AttachRange : seq<obj> -> unit
override this.AttachRange : seq<obj> -> unit
Public Overridable Sub AttachRange (entities As IEnumerable(Of Object))

参数

entities
IEnumerable<Object>

要附加的实体。

注解

通常,在调用 之前 SaveChanges() 不会执行数据库交互。

将执行导航属性的递归搜索,以查找上下文尚未跟踪的可访问实体。 找到的所有实体都将由上下文跟踪。

对于具有生成键的实体类型,如果实体设置了其主键值,则会在 状态中 Unchanged 跟踪它。 如果未设置主键值,则会在 状态中 Added 跟踪它。 这有助于确保仅插入新实体。 如果将主键属性设置为除属性类型的 CLR 默认值以外的任何值,则实体将被视为具有设置其主键值。

对于没有生成键的实体类型,状态集始终 Unchanged为 。

使用 State 仅设置单个实体的状态。

有关详细信息和示例,请参阅 EF Core 更改跟踪和使用 AddRange、UpdateRange、AttachRange 和 RemoveRange

适用于