通过


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

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

relationshipState
EntityState

EntityState 请求的指定关系。

返回

ObjectStateEntry 更改的关系。

例外

何时 sourcetargetnull.

尝试将关系的状态更改为非Deleted或处于状态的状态时DeletedsourcetargetDetached

-或-

尝试将关系的状态更改为非Added或处于状态的状态时AddedsourcetargetDetached

-或-

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.

尝试将关系的状态更改为非Deleted或处于或处于状态的状态时DeletedsourcetargetDetached

-或-

尝试将关系的状态更改为非Added或处于状态的状态时AddedsourcetargetDetached

-或-

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 表达式,用于选择返回指定targetEntity对象的导航属性sourceEntity

relationshipState
EntityState

EntityState 请求的指定关系。

返回

ObjectStateEntry 更改的关系。

例外

当、targetselectornullsource

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

尝试将关系的状态更改为非Deleted或处于或处于状态的状态时DeletedsourcetargetDetached

-或-

尝试将关系的状态更改为非Added或处于状态的状态时AddedsourcetargetDetached

-或-

state 不是有效 EntityState 值时。

注解

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

注释

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

适用于