Condividi tramite


ObjectStateManager.ChangeRelationshipState Metodo

Definizione

Modifica lo stato della relazione specificata tra due oggetti entità.

Overload

ChangeRelationshipState(Object, Object, String, EntityState)

Modifica lo stato della relazione tra due oggetti entità specificata in base ai due oggetti correlati e al nome della proprietà di navigazione.

ChangeRelationshipState(Object, Object, String, String, EntityState)

Modifica lo stato della relazione tra due oggetti entità specificata in base ai due oggetti correlati e alle proprietà della relazione.

ChangeRelationshipState<TEntity>(TEntity, Object, Expression<Func<TEntity,Object>>, EntityState)

Modifica lo stato della relazione tra due oggetti entità specificata in base ai due oggetti correlati e a un'espressione LINQ che definisce la proprietà di navigazione.

Commenti

Questo metodo non è supportato per relazioni basate su un'associazione di chiavi esterne.

ChangeRelationshipState(Object, Object, String, EntityState)

Modifica lo stato della relazione tra due oggetti entità specificata in base ai due oggetti correlati e al nome della proprietà di navigazione.

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

Parametri

sourceEntity
Object

Istanza dell'oggetto o EntityKey dell'entità di origine a un'estremità della relazione.

targetEntity
Object

Istanza dell'oggetto o EntityKey dell'entità di destinazione all'altra estremità della relazione.

navigationProperty
String

Nome della proprietà di navigazione in sourceEntity che restituisce l'oggetto targetEntity specificato.

relationshipState
EntityState

Oggetto EntityState richiesto della relazione specificata.

Restituisce

Oggetto ObjectStateEntry della relazione modificata.

Eccezioni

Quando source o target è null.

In caso di tentativo di impostare lo stato della relazione su uno stato diverso da Deleted o Detached quando source o target è in uno stato Deleted.

-oppure-

In caso di tentativo di impostare lo stato della relazione su uno stato diverso da Added o Detached quando source o target è in uno stato Added.

-oppure-

Quando il parametro state non è un valore valido dell'oggetto EntityState.

Commenti

Le voci per gli oggetti a entrambe le estremità della relazione specificata devono esistere in ObjectStateManager.

Nota

Questo metodo non è supportato per relazioni basate su un'associazione di chiavi esterne.

Si applica a

ChangeRelationshipState(Object, Object, String, String, EntityState)

Modifica lo stato della relazione tra due oggetti entità specificata in base ai due oggetti correlati e alle proprietà della relazione.

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

Parametri

sourceEntity
Object

Istanza dell'oggetto o EntityKey dell'entità di origine a un'estremità della relazione.

targetEntity
Object

Istanza dell'oggetto o EntityKey dell'entità di destinazione all'altra estremità della relazione.

relationshipName
String

Nome della relazione.

targetRoleName
String

Nome del ruolo all'estremità targetEntity della relazione.

relationshipState
EntityState

Oggetto EntityState richiesto della relazione specificata.

Restituisce

Oggetto ObjectStateEntry della relazione modificata.

Eccezioni

Quando source o target è null.

In caso di tentativo di impostare lo stato della relazione su uno stato diverso da Deleted o Detached quando source o target è in uno stato Deleted.

-oppure-

In caso di tentativo di impostare lo stato della relazione su uno stato diverso da Added o Detached quando source o target è in uno stato Added.

-oppure-

Quando il parametro state non è un valore valido dell'oggetto EntityState.

Commenti

Le voci per gli oggetti a entrambe le estremità della relazione specificata devono esistere in ObjectStateManager.

Nota

Questo metodo non è supportato per le relazioni basate su un'associazione di chiavi esterne. Per altre informazioni, vedere Definizione e gestione delle relazioni.

Si applica a

ChangeRelationshipState<TEntity>(TEntity, Object, Expression<Func<TEntity,Object>>, EntityState)

Modifica lo stato della relazione tra due oggetti entità specificata in base ai due oggetti correlati e a un'espressione LINQ che definisce la proprietà di navigazione.

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

Parametri di tipo

TEntity

Tipo di entità dell'oggetto sourceEntity.

Parametri

sourceEntity
TEntity

Istanza dell'oggetto o EntityKey dell'entità di origine a un'estremità della relazione.

targetEntity
Object

Istanza dell'oggetto o EntityKey dell'entità di destinazione all'altra estremità della relazione.

navigationPropertySelector
Expression<Func<TEntity,Object>>

Espressione LINQ che seleziona la proprietà di navigazione di sourceEntity che restituisce l'oggetto targetEntity specificato.

relationshipState
EntityState

Oggetto EntityState richiesto della relazione specificata.

Restituisce

Oggetto ObjectStateEntry della relazione modificata.

Eccezioni

Quando source, target o selector sono null.

selector è in un formato non valido o non può restituire una proprietà di navigazione.

In caso di tentativo di impostare lo stato della relazione su uno stato diverso da Deleted o Detached quando source o target è in uno stato Deleted.

-oppure-

In caso di tentativo di impostare lo stato della relazione su uno stato diverso da Added o Detached quando source o target è in uno stato Added.

-oppure-

Quando il parametro state non è un valore valido dell'oggetto EntityState.

Commenti

Le voci per gli oggetti a entrambe le estremità della relazione specificata devono esistere in ObjectStateManager.

Nota

Questo metodo non è supportato per le relazioni basate su un'associazione di chiavi esterne.

Si applica a