ObjectStateManager.ChangeRelationshipState メソッド

定義

2 つのエンティティ オブジェクト間の指定されたリレーションシップの状態を変更します。

オーバーロード

名前 説明
ChangeRelationshipState(Object, Object, String, EntityState)

2 つの関連オブジェクトとナビゲーション プロパティの名前に基づいて指定された 2 つのエンティティ オブジェクト間のリレーションシップの状態を変更します。

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

2 つの関連オブジェクトとリレーションシップのプロパティに基づいて指定された 2 つのエンティティ オブジェクト間のリレーションシップの状態を変更します。

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

2 つの関連オブジェクトと、ナビゲーション プロパティを定義する LINQ 式に基づいて指定された 2 つのエンティティ オブジェクト間のリレーションシップの状態を変更します。

注釈

このメソッドは、外部キーの関連付けに基づくリレーションシップではサポートされていません。

ChangeRelationshipState(Object, Object, String, EntityState)

2 つの関連オブジェクトとナビゲーション プロパティの名前に基づいて指定された 2 つのエンティティ オブジェクト間のリレーションシップの状態を変更します。

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

例外

sourceまたはtargetnullされたとき。

sourceまたはtargetのいずれかがDeleted状態にある場合に、リレーションシップの状態をDeletedまたはDetached以外の状態に変更しようとするとき。

-又は-

sourceまたはtargetAdded状態にある場合に、リレーションシップの状態をAddedまたはDetached以外の状態に変更しようとするとき。

-又は-

stateが有効なEntityState値でない場合。

注釈

指定したリレーションシップの両端にあるオブジェクトのエントリは、 ObjectStateManagerに存在する必要があります。

このメソッドは、外部キーの関連付けに基づくリレーションシップではサポートされていません。

適用対象

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

2 つの関連オブジェクトとリレーションシップのプロパティに基づいて指定された 2 つのエンティティ オブジェクト間のリレーションシップの状態を変更します。

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またはtargetnullされたとき。

sourceまたはtargetDeleted状態のときに、リレーションシップの状態を Deleted またはDetached以外の状態に変更しようとするとき。

-又は-

sourceまたはtargetAdded状態にある場合に、リレーションシップの状態をAddedまたはDetached以外の状態に変更しようとするとき。

-又は-

stateが有効なEntityState値でない場合。

注釈

指定したリレーションシップの両端にあるオブジェクトのエントリは、 ObjectStateManagerに存在する必要があります。

このメソッドは、外部キーの関連付けに基づくリレーションシップではサポートされていません。 詳細については、「 リレーションシップの定義と管理」を参照してください。

適用対象

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

2 つの関連オブジェクトと、ナビゲーション プロパティを定義する LINQ 式に基づいて指定された 2 つのエンティティ オブジェクト間のリレーションシップの状態を変更します。

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>>

指定したtargetEntityを返すsourceEntityのナビゲーション プロパティを選択する LINQ 式。

relationshipState
EntityState

指定したリレーションシップの要求された EntityState

返品

変更されたリレーションシップの ObjectStateEntry

例外

sourcetarget、またはselectornull場合。

selector が正しくないか、ナビゲーション プロパティを返すことができません。

sourceまたはtargetDeleted状態のときに、リレーションシップの状態を Deleted またはDetached以外の状態に変更しようとするとき。

-又は-

sourceまたはtargetAdded状態にある場合に、リレーションシップの状態をAddedまたはDetached以外の状態に変更しようとするとき。

-又は-

stateが有効なEntityState値でない場合。

注釈

指定したリレーションシップの両端にあるオブジェクトのエントリは、 ObjectStateManagerに存在する必要があります。

このメソッドは、外部キーの関連付けに基づくリレーションシップではサポートされていません。

適用対象