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 または targetDeleted 状態の場合に、Detached 状態および Deleted 状態のいずれでもない状態に、関係の状態を変更しようとしているとき。

- または -

source または targetAdded 状態の場合に、Detached 状態および Added 状態のいずれでもない状態に、関係の状態を変更しようとするとき。

- または -

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 状態の場合に、Detached 状態および Deleted 状態のいずれでもない状態に、関係の状態を変更しようとするとき。

- または -

source または targetAdded 状態の場合に、Detached 状態および Added 状態のいずれでもない状態に、関係の状態を変更しようとするとき。

- または -

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 状態の場合に、Detached 状態および Deleted 状態のいずれでもない状態に、関係の状態を変更しようとするとき。

- または -

source または targetAdded 状態の場合に、Detached 状態および Added 状態のいずれでもない状態に、関係の状態を変更しようとするとき。

- または -

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

注釈

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

注意

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

適用対象