Прочитать на английском

Поделиться через


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)

Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и имени свойства навигации.

C#
public System.Data.Objects.ObjectStateEntry ChangeRelationshipState(object sourceEntity, object targetEntity, string navigationProperty, System.Data.EntityState relationshipState);

Параметры

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.

Примечание

Этот метод не поддерживается для связей, основанных на сопоставлении на основе внешнего ключа.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

ChangeRelationshipState(Object, Object, String, String, EntityState)

Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и свойств отношения.

C#
public System.Data.Objects.ObjectStateEntry ChangeRelationshipState(object sourceEntity, object targetEntity, string relationshipName, string targetRoleName, System.Data.EntityState relationshipState);

Параметры

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.

Примечание

Этот метод не поддерживается для связей, основанных на связи внешнего ключа. Дополнительные сведения см. в разделе Определение связей и управление ими.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

ChangeRelationshipState<TEntity>(TEntity, Object, Expression<Func<TEntity,Object>>, EntityState)

Изменяет состояние отношения между двумя объектами сущностей, заданное на основании двух связанных объектов и выражения LINQ, определяющего свойство навигации.

C#
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;

Параметры типа

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.

Примечание

Этот метод не поддерживается для связей, основанных на связи внешнего ключа.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1