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 virtual System.Data.Entity.Core.Objects.ObjectStateEntry ChangeRelationshipState(object sourceEntity, object targetEntity, string navigationProperty, System.Data.Entity.EntityState relationshipState);
abstract member ChangeRelationshipState : obj * obj * string * System.Data.Entity.EntityState -> System.Data.Entity.Core.Objects.ObjectStateEntry
override this.ChangeRelationshipState : obj * obj * string * System.Data.Entity.EntityState -> System.Data.Entity.Core.Objects.ObjectStateEntry
Public Overridable Function ChangeRelationshipState (sourceEntity As Object, targetEntity As Object, navigationProperty As String, relationshipState As EntityState) As ObjectStateEntry

参数

sourceEntity
Object

位于关系一端的对象实例或源实体的 EntityKey

targetEntity
Object

位于关系另一端的对象实例或目标实体的 EntityKey

navigationProperty
String

源上返回指定目标 的导航属性的名称。

relationshipState
EntityState

请求的所指定关系的 EntityState

返回

已更改的关系的 ObjectStateEntry

例外

当源或目标为 null 时。

尝试将关系的状态更改为非 DeletedDetached 状态时,当源或目标处于状态 Deleted 时,或者尝试将关系的状态更改为 Added 非 或 Detached 状态时,当源或目标处于状态 或状态不是有效 EntityState 值时

适用于

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

更改两个实体对象之间的指定关系的状态,根据两个相关对象和关系属性来指定关系。

public virtual System.Data.Entity.Core.Objects.ObjectStateEntry ChangeRelationshipState(object sourceEntity, object targetEntity, string relationshipName, string targetRoleName, System.Data.Entity.EntityState relationshipState);
abstract member ChangeRelationshipState : obj * obj * string * string * System.Data.Entity.EntityState -> System.Data.Entity.Core.Objects.ObjectStateEntry
override this.ChangeRelationshipState : obj * obj * string * string * System.Data.Entity.EntityState -> System.Data.Entity.Core.Objects.ObjectStateEntry
Public Overridable 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

关系目标端处的角色名称。

relationshipState
EntityState

请求的所指定关系的 EntityState

返回

已更改的关系的 ObjectStateEntry

例外

当源或目标为 null 时。

尝试将关系的状态更改为非 或 时Deleted,当源或目标处于Deleted状态时,或者当你尝试将关系的状态更改为Added非或Detached状态时,当源或目标处于状态Added或状态不是有效EntityStateDetached时。

适用于

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

更改两个实体对象之间的指定关系的状态,根据两个相关对象和用于定义导航属性的 LINQ 表达式来指定关系。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public virtual System.Data.Entity.Core.Objects.ObjectStateEntry ChangeRelationshipState<TEntity>(TEntity sourceEntity, object targetEntity, System.Linq.Expressions.Expression<Func<TEntity,object>> navigationPropertySelector, System.Data.Entity.EntityState relationshipState) where TEntity : class;
abstract member ChangeRelationshipState : 'Entity * obj * System.Linq.Expressions.Expression<Func<'Entity, obj>> * System.Data.Entity.EntityState -> System.Data.Entity.Core.Objects.ObjectStateEntry (requires 'Entity : null)
override this.ChangeRelationshipState : 'Entity * obj * System.Linq.Expressions.Expression<Func<'Entity, obj>> * System.Data.Entity.EntityState -> System.Data.Entity.Core.Objects.ObjectStateEntry (requires 'Entity : null)
Public Overridable 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
TEntity

位于关系一端的对象实例或源实体的 EntityKey

targetEntity
Object

位于关系另一端的对象实例或目标实体的 EntityKey

navigationPropertySelector
Expression<Func<TEntity,Object>>

一个 LINQ 表达式,该表达式选择返回指定目标 的源上的导航属性。

relationshipState
EntityState

请求的所指定关系的 EntityState

返回

已更改的关系的 ObjectStateEntry

属性

例外

当源 、目标 或 选择器为 null 时。

选择器格式不正确或无法返回导航属性。

尝试将关系的状态更改为非 或 时Deleted,当源或目标处于Deleted状态时,或者当你尝试将关系的状态更改为Added非或Detached状态时,当源或目标处于状态Added或状态不是有效EntityStateDetached时。

适用于