ObjectStateManager.ChangeRelationshipState<TEntity>, méthode (TEntity, Object, Expression<Func<TEntity, Object>>, EntityState)
[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]
Modifie l'état de la relation entre deux objets entités spécifiée selon les deux objets connexes et une expression LINQ qui définit la propriété de navigation.
Espace de noms : System.Data.Entity.Core.Objects
Assembly : EntityFramework (dans EntityFramework.dll)
Syntaxe
'Déclaration
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Overridable 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
'Utilisation
Dim instance As ObjectStateManager
Dim sourceEntity As TEntity
Dim targetEntity As Object
Dim navigationPropertySelector As Expression(Of Func(Of TEntity, Object))
Dim relationshipState As EntityState
Dim returnValue As ObjectStateEntry
returnValue = instance.ChangeRelationshipState(sourceEntity, _
targetEntity, navigationPropertySelector, _
relationshipState)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public virtual ObjectStateEntry ChangeRelationshipState<TEntity>(
TEntity sourceEntity,
Object targetEntity,
Expression<Func<TEntity, Object>> navigationPropertySelector,
EntityState relationshipState
)
where TEntity : class
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TEntity>
where TEntity : ref class
virtual ObjectStateEntry^ ChangeRelationshipState(
TEntity sourceEntity,
Object^ targetEntity,
Expression<Func<TEntity, Object^>^>^ navigationPropertySelector,
EntityState relationshipState
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
abstract ChangeRelationshipState :
sourceEntity:'TEntity *
targetEntity:Object *
navigationPropertySelector:Expression<Func<'TEntity, Object>> *
relationshipState:EntityState -> ObjectStateEntry when 'TEntity : not struct
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
override ChangeRelationshipState :
sourceEntity:'TEntity *
targetEntity:Object *
navigationPropertySelector:Expression<Func<'TEntity, Object>> *
relationshipState:EntityState -> ObjectStateEntry when 'TEntity : not struct
JScript does not support generic types and methods.
Paramètres de type
- TEntity
Type d'entité de l'objet source.
Paramètres
- sourceEntity
Type : TEntity
Instance d'objet ou EntityKey de l'entité source en terminaison de la relation.
- targetEntity
Type : System.Object
Instance d'objet ou EntityKey de l'entité cible à l'autre extrémité de la relation.
- navigationPropertySelector
Type : System.Linq.Expressions.Expression<Func<TEntity, Object>>
Expression LINQ qui sélectionne la propriété de navigation sur la source qui retourne la cible spécifiée.
- relationshipState
Type : System.Data.Entity.EntityState
Le EntityState demandé de la relation spécifiée.
Valeur de retour
Type : System.Data.Entity.Core.Objects.ObjectStateEntry
ObjectStateEntry pour la relation ayant changé.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | Lorsque la source, la cible ou le sélecteur a la valeur Null. |
ArgumentException | le sélecteur est incorrect ou ne peut pas retourner de propriété de navigation. |
InvalidOperationException | Lorsque vous essayez de modifier l'état de la relation vers un état autre que Deleted ou Detached, que la source ou la cible se trouve dans un état Deleted, que vous essayez de modifier l'état de la relation vers un état autre que Added ou Detached, que la source ou la cible se trouve dans un état Added ou que l'état n'est pas une valeur EntityState valide. |