EntityState EntityState EntityState EntityState Enum


The state of an entity object.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class EntityState
public enum EntityState
type EntityState = 
Public Enum EntityState


Added Added Added 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 Deleted Deleted Deleted 8

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

Detached Detached Detached 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.

Modified Modified Modified 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.

Unchanged Unchanged Unchanged 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.


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