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
- 继承
- 属性
字段
Added | 4 | 该对象是已添加到对象上下文的新对象,但尚未调用 SaveChanges() 方法。 在保存更改后,对象状态更改为 Unchanged。 处于 Added 状态的对象在 ObjectStateEntry 中没有原始值。 |
Deleted | 8 | 已从对象上下文中删除该对象。 在保存更改后,对象状态更改为 Detached。 |
Detached | 1 | 该对象存在但未被跟踪。 实体在创建之后且添加到对象上下文之前处于此状态。 通过调用 Detach(Object) 方法从上下文中移除实体后,或者使用 NoTrackingMergeOption 加载实体后,该实体也会处于此状态。 没有与处于 ObjectStateEntry 状态的对象关联的 Detached 实体。 |
Modified | 16 | 对象上的一个标量属性已修改,但尚未调用 SaveChanges() 方法。 在没有更改跟踪代理的 POCO 实体中,如果调用 Modified 方法,则已修改属性的状态将更改为 DetectChanges()。 在保存更改后,对象状态更改为 Unchanged。 |
Unchanged | 2 | 自附加到上下文中后,或自上次调用 SaveChanges() 方法后,该对象尚未修改。 |
注解
对象上下文必须了解对象的状态以便将更改保存回数据源。
ObjectStateEntry 对象存储 EntityState 信息。
SaveChanges
的 ObjectContext 方法将处理附加到上下文的实体,并根据每个对象的 EntityState 更新数据源。 有关详细信息,请参阅 创建、添加、修改和删除对象。
对象上下文中的对象状态由 ObjectStateManager 管理。 若要确定对象的状态,请调用以下 ObjectStateManager 方法之一:TryGetObjectStateEntry、GetObjectStateEntry 或 GetObjectStateEntries。 State 的 ObjectStateEntry 属性定义对象的状态。