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

返回指定 targetEntitysourceEntity 的导航属性名称。

relationshipState
EntityState

请求的所指定关系的 EntityState

返回

已更改的关系的 ObjectStateEntry

例外

sourcetargetnull 时。

在尝试将关系的状态更改为非 DeletedDetached 的状态时,当 sourcetarget 处于 Deleted 状态中时。

- 或 -

在尝试将关系的状态更改为非 AddedDetached 的状态时,当 sourcetarget 处于 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

例外

sourcetargetnull 时。

在尝试将关系的状态更改为非 DeletedDetached 的状态时,当 sourcetarget 处于 Deleted 状态中时。

- 或 -

在尝试将关系的状态更改为非 AddedDetached 的状态时,当 sourcetarget 处于 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 表示式,用于选择返回指定 sourceEntitytargetEntity 的导航属性。

relationshipState
EntityState

请求的所指定关系的 EntityState

返回

已更改的关系的 ObjectStateEntry

例外

sourcetargetselectornull 时。

selector 格式不正确或无法返回导航属性。

在尝试将关系的状态更改为非 DeletedDetached 的状态时,当 sourcetarget 处于 Deleted 状态中时。

- 或 -

在尝试将关系的状态更改为非 AddedDetached 的状态时,当 sourcetarget 处于 Added 状态中时。

- 或 -

state 不是有效的 EntityState 值时。

注解

指定关系两端的 对象的条目必须存在于 中 ObjectStateManager

注意

基于外键关联的关系不支持此方法。

适用于