ObjectStateManager.ChangeRelationshipState 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
變更兩個實體物件之間指定關聯性的狀態。
多載
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
傳回指定 targetEntity
之 sourceEntity
上的導覽屬性名稱。
- relationshipState
- EntityState
指定之關聯性的要求 EntityState。
傳回
已變更之關聯性的 ObjectStateEntry。
例外狀況
當 source
或 target
為 null
時。
當嘗試在 source
處於 target
或 Deleted 狀態時,將關聯性的狀態變更為 Detached 或 Deleted 以外的狀態。
-或-
當您嘗試在 source
或 target
處於 Added 狀態時,將關聯性的狀態變更為 Detached 或 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
時。
當您嘗試在 source
或 target
處於 Deleted 狀態時,將關聯性的狀態變更為 Detached 或 Deleted 以外的狀態。
-或-
當您嘗試在 source
或 target
處於 Added 狀態時,將關聯性的狀態變更為 Detached 或 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>>
LINQ 運算式,這個運算式會選取 sourceEntity
上傳回指定 targetEntity
的導覽屬性。
- relationshipState
- EntityState
指定之關聯性的要求 EntityState。
傳回
已變更之關聯性的 ObjectStateEntry。
例外狀況
當 source
、target
或 selector
是 null
時。
selector
格式不正確,或者無法傳回導覽屬性。
當您嘗試在 source
或 target
處於 Deleted 狀態時,將關聯性的狀態變更為 Detached 或 Deleted 以外的狀態。
-或-
當您嘗試在 source
或 target
處於 Added 狀態時,將關聯性的狀態變更為 Detached 或 Added 以外的狀態。
-或-
當 state
不是有效的 EntityState 值時。
備註
指定關聯性兩端之物件的項目必須存在於 中 ObjectStateManager。
注意
這個方法不支援以外鍵關聯為基礎的關聯性。