EntityState Enum

Definition

The state of an entity object.

This enumeration supports a bitwise combination of its member values.

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
Inheritance
EntityState
Attributes

Fields

Name Value Description
Detached 1

The object exists but is not being tracked. An entity is in this state immediately after it has been created and before it is added to the object context. An entity is also in this state after it has been removed from the context by calling the Detach(Object) method or if it is loaded by using a NoTrackingMergeOption. There is no ObjectStateEntry instance associated with objects in the Detached state.

Unchanged 2

The object has not been modified since it was attached to the context or since the last time that the SaveChanges() method was called.

Added 4

The object is new, has been added to the object context, and the SaveChanges() method has not been called. After the changes are saved, the object state changes to Unchanged. Objects in the Added state do not have original values in the ObjectStateEntry.

Deleted 8

The object has been deleted from the object context. After the changes are saved, the object state changes to Detached.

Modified 16

One of the scalar properties on the object was modified and the SaveChanges() method has not been called. In POCO entities without change-tracking proxies, the state of the modified properties changes to Modified when the DetectChanges() method is called. After the changes are saved, the object state changes to Unchanged.

Remarks

The object context must know the state of an object to save changes back to the data source. ObjectStateEntry objects store EntityState information. The SaveChanges methods of the ObjectContext process entities that are attached to the context and update the data source depending on the EntityState of each object. For more information, see Creating, Adding, Modifying, and Deleting Objects.

The state of objects inside an object context is managed by the ObjectStateManager. To find out the state of an object, call one of the following ObjectStateManager methods: TryGetObjectStateEntry, GetObjectStateEntry, or GetObjectStateEntries. The State property of the ObjectStateEntry defines the state of the object.

Applies to

See also