DbSet<TEntity>.Attach(TEntity) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
开始跟踪给定实体和默认情况下可以使用状态 Unchanged 从给定实体访问的条目,但有关使用不同状态的情况,请参阅下文。
public virtual Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity> Attach(TEntity entity);
abstract member Attach : 'Entity -> Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity (requires 'Entity : null)>
override this.Attach : 'Entity -> Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity (requires 'Entity : null)>
Public Overridable Function Attach (entity As TEntity) As EntityEntry(Of TEntity)
参数
- entity
- TEntity
要附加的实体。
返回
实体 EntityEntry 。 该条目提供对实体的更改跟踪信息和操作的访问权限。
注解
通常,在调用之前 SaveChanges() 不会执行任何数据库交互。
将执行导航属性的递归搜索,以查找上下文尚未跟踪的可访问实体。 找到的所有实体都将由上下文跟踪。
对于具有生成的键的实体类型,如果实体设置了其主键值,则会在状态中 Unchanged 跟踪它。 如果未设置主键值,则会在状态中 Added 跟踪它。 这有助于确保仅插入新实体。 如果主键属性设置为属性类型的 CLR 默认值以外的任何内容,则实体将被视为设置其主键值。
对于没有生成的键的实体类型,状态集始终 Unchanged为 。
用于 State 仅设置单个实体的状态。
有关详细信息和示例,请参阅 EF Core 更改跟踪 。