ObjectStateManager.ChangeRelationshipState Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Изменяет состояние указанного отношения между двумя объектами сущностей.
Перегрузки
ChangeRelationshipState(Object, Object, String, EntityState) |
Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и имени свойства навигации. |
ChangeRelationshipState(Object, Object, String, String, EntityState) |
Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и свойств отношения. |
ChangeRelationshipState<TEntity>(TEntity, Object, Expression<Func<TEntity,Object>>, EntityState) |
Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и выражения LINQ, определяющего свойство навигации. |
Комментарии
Этот метод не поддерживается для связей, основанных на сопоставлении на основе внешнего ключа.
ChangeRelationshipState(Object, Object, String, EntityState)
Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и имени свойства навигации.
public:
System::Data::Objects::ObjectStateEntry ^ ChangeRelationshipState(System::Object ^ sourceEntity, System::Object ^ targetEntity, System::String ^ navigationProperty, System::Data::EntityState relationshipState);
public System.Data.Objects.ObjectStateEntry ChangeRelationshipState (object sourceEntity, object targetEntity, string navigationProperty, System.Data.EntityState relationshipState);
member this.ChangeRelationshipState : obj * obj * string * System.Data.EntityState -> System.Data.Objects.ObjectStateEntry
Public Function ChangeRelationshipState (sourceEntity As Object, targetEntity As Object, navigationProperty As String, relationshipState As EntityState) As ObjectStateEntry
Параметры
- sourceEntity
- Object
Экземпляр объекта или объект EntityKey исходной сущности с одной стороны отношения.
- targetEntity
- Object
Экземпляр объекта или объект EntityKey целевой сущности с другой стороны отношения.
- navigationProperty
- String
Имя свойства навигации исходного объекта sourceEntity
, возвращающего указанный объект targetEntity
.
- relationshipState
- EntityState
Запрошенное состояние EntityState указанного отношения.
Возвращаемое значение
Объект ObjectStateEntry для измененного отношения.
Исключения
Если source
или target
имеет значение null
.
При попытке изменить состояние связи на состояние, отличное от Deleted или Detached, когда source
или target
находится в состоянии Deleted.
-или-
При попытке изменить состояние связи на состояние, отличное от Added или Detached, когда source
или target
находится в состоянии Added.
-или-
Когда state
не является допустимым значением EntityState.
Комментарии
Записи для объектов на обоих концах указанной связи должны существовать в ObjectStateManager.
Примечание
Этот метод не поддерживается для связей, основанных на сопоставлении на основе внешнего ключа.
Применяется к
ChangeRelationshipState(Object, Object, String, String, EntityState)
Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и свойств отношения.
public:
System::Data::Objects::ObjectStateEntry ^ ChangeRelationshipState(System::Object ^ sourceEntity, System::Object ^ targetEntity, System::String ^ relationshipName, System::String ^ targetRoleName, System::Data::EntityState relationshipState);
public System.Data.Objects.ObjectStateEntry ChangeRelationshipState (object sourceEntity, object targetEntity, string relationshipName, string targetRoleName, System.Data.EntityState relationshipState);
member this.ChangeRelationshipState : obj * obj * string * string * System.Data.EntityState -> System.Data.Objects.ObjectStateEntry
Public Function ChangeRelationshipState (sourceEntity As Object, targetEntity As Object, relationshipName As String, targetRoleName As String, relationshipState As EntityState) As ObjectStateEntry
Параметры
- sourceEntity
- Object
Экземпляр объекта или объект EntityKey исходной сущности с одной стороны отношения.
- targetEntity
- Object
Экземпляр объекта или объект EntityKey целевой сущности с другой стороны отношения.
- relationshipName
- String
Имя связи.
- targetRoleName
- String
Имя роли на стороне targetEntity
отношения.
- relationshipState
- EntityState
Запрошенное состояние EntityState указанного отношения.
Возвращаемое значение
Объект ObjectStateEntry для измененного отношения.
Исключения
Если source
или target
имеет значение null
.
При попытке изменить состояние связи на состояние, отличное от Deleted или Detached, когда source
или target
находится в состоянии Deleted.
-или-
При попытке изменить состояние связи на состояние, отличное от Added или Detached, когда source
или target
находится в состоянии Added.
-или-
Когда state
не является допустимым значением EntityState.
Комментарии
Записи для объектов на обоих концах указанной связи должны существовать в ObjectStateManager.
Примечание
Этот метод не поддерживается для связей, основанных на связи внешнего ключа. Дополнительные сведения см. в разделе Определение связей и управление ими.
Применяется к
ChangeRelationshipState<TEntity>(TEntity, Object, Expression<Func<TEntity,Object>>, EntityState)
Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и выражения LINQ, определяющего свойство навигации.
public:
generic <typename TEntity>
where TEntity : class System::Data::Objects::ObjectStateEntry ^ ChangeRelationshipState(TEntity sourceEntity, System::Object ^ targetEntity, System::Linq::Expressions::Expression<Func<TEntity, System::Object ^> ^> ^ navigationPropertySelector, System::Data::EntityState relationshipState);
public System.Data.Objects.ObjectStateEntry ChangeRelationshipState<TEntity> (TEntity sourceEntity, object targetEntity, System.Linq.Expressions.Expression<Func<TEntity,object>> navigationPropertySelector, System.Data.EntityState relationshipState) where TEntity : class;
member this.ChangeRelationshipState : 'Entity * obj * System.Linq.Expressions.Expression<Func<'Entity, obj>> * System.Data.EntityState -> System.Data.Objects.ObjectStateEntry (requires 'Entity : null)
Public Function ChangeRelationshipState(Of TEntity As Class) (sourceEntity As TEntity, targetEntity As Object, navigationPropertySelector As Expression(Of Func(Of TEntity, Object)), relationshipState As EntityState) As ObjectStateEntry
Параметры типа
- TEntity
Тип сущности объекта sourceEntity
.
Параметры
- sourceEntity
- TEntity
Экземпляр объекта или объект EntityKey исходной сущности с одной стороны отношения.
- targetEntity
- Object
Экземпляр объекта или объект EntityKey целевой сущности с другой стороны отношения.
- navigationPropertySelector
- Expression<Func<TEntity,Object>>
Выражение LINQ, выбирающее свойство навигации исходного объекта sourceEntity
, возвращающего указанный объект targetEntity
.
- relationshipState
- EntityState
Запрошенное состояние EntityState указанного отношения.
Возвращаемое значение
Объект ObjectStateEntry для измененного отношения.
Исключения
Когда source
, target
или selector
имеет значение null
.
selector
имеет неверный формат или не может возвратить свойство навигации.
При попытке изменить состояние связи на состояние, отличное от Deleted или Detached, когда source
или target
находится в состоянии Deleted.
-или-
При попытке изменить состояние связи на состояние, отличное от Added или Detached, когда source
или target
находится в состоянии Added.
-или-
Когда state
не является допустимым значением EntityState.
Комментарии
Записи для объектов на обоих концах указанной связи должны существовать в ObjectStateManager.
Примечание
Этот метод не поддерживается для связей, основанных на связи внешнего ключа.