ObjectStateManager::ChangeRelationshipState<TEntity> Method (TEntity, Object^, Expression<Func<TEntity, Object^>^>^, EntityState)
Changes the state of the relationship between two entity objects that is specified based on the two related objects and a LINQ expression that defines the navigation property.
Assembly: System.Data.Entity (in System.Data.Entity.dll)
public: generic<typename TEntity> where TEntity : ref class ObjectStateEntry^ ChangeRelationshipState( TEntity sourceEntity, Object^ targetEntity, Expression<Func<TEntity, Object^>^>^ navigationPropertySelector, EntityState relationshipState )
Parameters
- sourceEntity
-
Type:
TEntity
The object instance or EntityKey of the source entity at one end of the relationship.
- targetEntity
-
Type:
System::Object^
The object instance or EntityKey of the target entity at the other end of the relationship.
- navigationPropertySelector
-
Type:
System.Linq.Expressions::Expression<Func<TEntity, Object^>^>^
A LINQ expression that selects the navigation property on source that returns the specified target.
- relationshipState
-
Type:
System.Data::EntityState
The requested EntityState of the specified relationship.
Return Value
Type: System.Data.Objects::ObjectStateEntry^The ObjectStateEntry for the relationship that was changed.
Type Parameters
- TEntity
The entity type of the source object.
| Exception | Condition |
|---|---|
| ArgumentNullException | When source, target, or selector is null. |
| ArgumentException | selector is malformed or cannot return a navigation property. |
| InvalidOperationException | When you try to change the state of the relationship to a state other than Deleted or Detached when either source or target is in a Deleted state. -or- When you try to change the state of the relationship to a state other than Added or Detached when either source or target is in an Added state. -or- When state is not a valid EntityState value. |
Entries for the objects at both ends of the specified relationship must exist in the ObjectStateManager.
Note |
|---|
This method is not supported for relationships that are based on a foreign key association. |
Available since 4.0
