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

當嘗試在 source 處於 targetDeleted 狀態時,將關聯性的狀態變更為 DetachedDeleted 以外的狀態。

-或-

當您嘗試在 sourcetarget 處於 Added 狀態時,將關聯性的狀態變更為 DetachedAdded 以外的狀態。

-或-

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

當您嘗試在 sourcetarget 處於 Deleted 狀態時,將關聯性的狀態變更為 DetachedDeleted 以外的狀態。

-或-

當您嘗試在 sourcetarget 處於 Added 狀態時,將關聯性的狀態變更為 DetachedAdded 以外的狀態。

-或-

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 運算式,這個運算式會選取 sourceEntity 上傳回指定 targetEntity 的導覽屬性。

relationshipState
EntityState

指定之關聯性的要求 EntityState

傳回

已變更之關聯性的 ObjectStateEntry

例外狀況

sourcetargetselectornull 時。

selector 格式不正確,或者無法傳回導覽屬性。

當您嘗試在 sourcetarget 處於 Deleted 狀態時,將關聯性的狀態變更為 DetachedDeleted 以外的狀態。

-或-

當您嘗試在 sourcetarget 處於 Added 狀態時,將關聯性的狀態變更為 DetachedAdded 以外的狀態。

-或-

state 不是有效的 EntityState 值時。

備註

指定關聯性兩端之物件的項目必須存在於 中 ObjectStateManager

注意

這個方法不支援以外鍵關聯為基礎的關聯性。

適用於