ObjectStateManager.ChangeRelationshipState 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
改變兩個實體物件間指定關係的狀態。
多載
| 名稱 | 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
參數
- navigationProperty
- String
該屬性的導航屬性 sourceEntity 名稱會回傳指定的 targetEntity。
- relationshipState
- EntityState
該關係的請求 EntityState 。
傳回
ObjectStateEntry那段關係已經改變了。
例外狀況
何時source或 target 。null
當試圖將關係的狀態改變到非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
參數
- relationshipName
- String
關係的名稱。
- targetRoleName
- String
關係結束時的角色 targetEntity 名稱。
- relationshipState
- EntityState
該關係的請求 EntityState 。
傳回
ObjectStateEntry那段關係已經改變了。
例外狀況
何時source或 target 。null
當你試圖將關係的狀態改變成非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 來源實體在關係的一端。
- navigationPropertySelector
- Expression<Func<TEntity,Object>>
一個選擇導航屬性的 sourceEntity LINQ 運算式,回傳指定的 targetEntity。
- relationshipState
- EntityState
該關係的請求 EntityState 。
傳回
ObjectStateEntry那段關係已經改變了。
例外狀況
當 source、 target或 selector 為 null時 。
selector 畸形或無法返回導航屬性。
當你試圖將關係的狀態改變成非Deleted某個狀態,或Detached當其中target一方source或處於某個Deleted狀態時,
-或-
當你試圖將關係的狀態改變到另一個Added狀態,或Detached當其中一方sourcetarget或處於某個Added狀態時,
-或-
「何時」 state 不是一個有效的 EntityState 數值。
備註
指定關係兩端物件的條目必須存在 ObjectStateManager於 中。
備註
此方法不支援基於外鍵關聯的關係。