This documentation is archived and is not being maintained.

ObjectStateManager::ChangeObjectState Method

Changes state of the ObjectStateEntry for a specific object to the specified entityState.

Namespace:  System.Data.Objects
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

ObjectStateEntry^ ChangeObjectState(
	Object^ entity, 
	EntityState entityState


Type: System::Object
The object for which the state must be changed.
Type: System.Data::EntityState
The new state of the object.

Return Value

Type: System.Data.Objects::ObjectStateEntry
The ObjectStateEntry for the supplied entity.


When entity is nullptr.


When the object is not detached and does not have an entry in the state manager.


When you try to change the state to Detached from any other [T:System.Data.EntityState.]


When state is not a valid EntityState value.

Calling the ChangeObjectState method to change the state of an object to Deleted does not cause related objects in a constrained relationship to be deleted.

Changing the state of an object does not affect related objects in the object graph.

When you change the EntityState of an entity object entry to Modified, all the properties of the object are marked as modified, regardless of the current or original values.

When the EntityState of an entity object entry is changed to Added, Deleted, or Detached, the relationship entries for the object are also updated.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.