ObjectStateManager.ChangeRelationshipState 方法

定義

改變兩個實體物件間指定關係的狀態。

多載

名稱 Description
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

該屬性的導航屬性 sourceEntity 名稱會回傳指定的 targetEntity

relationshipState
EntityState

該關係的請求 EntityState

傳回

ObjectStateEntry那段關係已經改變了。

例外狀況

何時sourcetargetnull

當試圖將關係的狀態改變到非Deleted其他狀態,或Detached當其中一方sourcetarget或處於某個Deleted狀態時,

-或-

當你試圖將關係的狀態改變到另一個Added狀態,或Detached當其中一方sourcetarget或處於某個Added狀態時,

-或-

「何時」 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某個狀態,或Detached當其中target一方source或處於某個Deleted狀態時,

-或-

當你試圖將關係的狀態改變到另一個Added狀態,或Detached當其中一方sourcetarget或處於某個Added狀態時,

-或-

「何時」 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>>

一個選擇導航屬性的 sourceEntity LINQ 運算式,回傳指定的 targetEntity

relationshipState
EntityState

該關係的請求 EntityState

傳回

ObjectStateEntry那段關係已經改變了。

例外狀況

sourcetargetselectornull時 。

selector 畸形或無法返回導航屬性。

當你試圖將關係的狀態改變成非Deleted某個狀態,或Detached當其中target一方source或處於某個Deleted狀態時,

-或-

當你試圖將關係的狀態改變到另一個Added狀態,或Detached當其中一方sourcetarget或處於某個Added狀態時,

-或-

「何時」 state 不是一個有效的 EntityState 數值。

備註

指定關係兩端物件的條目必須存在 ObjectStateManager於 中。

備註

此方法不支援基於外鍵關聯的關係。

適用於