EntityState 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
实体对象的状态。
此枚举支持其成员值的按位组合。
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
- 继承
- 属性
字段
| 名称 | 值 | 说明 |
|---|---|---|
| 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方法之一:TryGetObjectStateEntry或GetObjectStateEntryGetObjectStateEntries。 对象的 State 属性 ObjectStateEntry 定义对象的状态。