通过


EntityState 枚举

定义

实体对象的状态。

此枚举支持其成员值的按位组合。

public enum class EntityState
[System.Flags]
public enum EntityState
[System.Flags]
[System.ComponentModel.DataAnnotations.BindableType(IsBindable=false)]
public enum EntityState
[<System.Flags>]
type EntityState = 
[<System.Flags>]
[<System.ComponentModel.DataAnnotations.BindableType(IsBindable=false)>]
type EntityState = 
Public Enum EntityState
继承
EntityState
属性

字段

名称 说明
Detached 1

对象存在,但未跟踪。 实体在创建实体并添加到对象上下文之前立即处于此状态。 实体在通过调用 Detach(Object) 方法或通过使用 a NoTrackingMergeOption加载实体从上下文中删除该实体后也处于此状态。 没有 ObjectStateEntry 与处于状态的对象 Detached 关联的实例。

Unchanged 2

自该对象已附加到上下文或上次调用该方法以来 SaveChanges() ,该对象尚未修改。

Added 4

对象是新的,已添加到对象上下文中,并且 SaveChanges() 尚未调用该方法。 保存更改后,对象状态将更改为 Unchanged。 状态中的 Added 对象在 . 中 ObjectStateEntry没有原始值。

Deleted 8

对象已从对象上下文中删除。 保存更改后,对象状态将更改为 Detached

Modified 16

修改了对象上的标量属性之一,并且 SaveChanges() 尚未调用该方法。 在没有更改跟踪代理的 POCO 实体中,修改的属性的状态将更改为 Modified 调用方法时 DetectChanges() 的状态。 保存更改后,对象状态将更改为 Unchanged

注解

对象上下文必须知道对象的状态,才能将更改保存回数据源。 ObjectStateEntry 对象存储 EntityState 信息。 SaveChanges附加到上下文的进程实体的方法ObjectContext,并根据每个对象更新数据源EntityState。 有关详细信息,请参阅 创建、添加、修改和删除对象

对象上下文中的对象状态由 ObjectStateManager该对象管理。 若要了解对象的状态,请调用以下ObjectStateManager方法之一:TryGetObjectStateEntryGetObjectStateEntryGetObjectStateEntries。 对象的 State 属性 ObjectStateEntry 定义对象的状态。

适用于

另请参阅