Personnaliser des métadonnées de relation d’entité
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Les relations d’entité définissent les manières dont les enregistrements d’entités peuvent être associés aux enregistrements d’autres entités ou de la même entité. La création de nouvelles relations d’entité crée des relations de table dans la base de données. Utilisez les relations d’entité pour définir les associations spécifiques qui sont fréquemment utilisées pour associer des enregistrements pour des rapports ou dans l’interface utilisateur. Lorsqu’une relation existe, vous pouvez associer et dissocier les enregistrements basés sur cette relation à l’aide des méthodes Associate et Disassociate.Pour plus d'informations :Actions sur les enregistrements d’entité
Pour les relations entre les enregistrements individuels qui sont moins formelles et plus souples, voir Entités de connexion.
Cette rubrique traite de l’utilisation des relations d’entité par programme. Pour plus d’informations sur l’utilisation de la relation d’entité dans l’application, voir Créer et modifier des relations d’entité.
Contenu de la rubrique
Types de relations d’entité
Relations 1 à N (un-à-plusieurs)
Relations plusieurs-à-plusieurs
Configurer les menus associés
Types de relations d’entité
Microsoft Dynamics 365 comporte deux types de relations d’entité. Chacun hérite de la classe RelationshipMetadataBase :
Relations 1 à N (un-à-plusieurs)
Relations plusieurs-à-plusieurs
Avant de créer de nouvelles relations d’entité par programmation, vérifiez si les entités sont éligibles pour participer aux relations. Certaines contraintes sont appliquées aux relations d'entité qui utilisent les propriétés EntityMetadata suivantes : CanBeInManyToMany, CanBePrimaryEntityInRelationship et CanBeRelatedEntityInRelationship. Ces restrictions sont prises en compte lorsque vous créez manuellement des relations d'entité dans les outils de personnalisation. Il y a des messages que vous pouvez utiliser pour déterminer les relations qu'une entité peut utiliser et quelles autres entités sont valides pour ce type de relation.Pour plus d'informations :Éligibilité de la relation d’entité
Les deux types de relations d’entité permettent aux options d’afficher des liens de navigation entre les enregistrements associés.Pour plus d'informations :Configurer les menus associés
Relations 1 à N (un-à-plusieurs)
Dans une relation d’entité un-à-plusieurs, différents enregistrements d’entités de référencement (associés) peuvent être associés à un seul enregistrement d’entité référencé (principal). Les enregistrements d’entités référencés sont parfois appelés parents et les enregistrements d’entité de référencement sont appelés enfants.
Dans un nœud d’entité figurant sur une page de solution, ce type de relation d’entité s’affiche sous forme d’une Relation un-à-plusieurs (1 à N) ou d’une Relation plusieurs-à-un (N à 1). Ces termes sont utilisés car vous accédez aux relations d’entité via une des entités. L’étiquette reflète le rôle que l’entité active a dans la relation.
Vous utilisez une instance de la classe OneToManyRelationshipMetadata lorsque vous utilisez ce type de relation d’entité. Chaque relation d’entité a un nom de schéma spécifique que vous utilisez pour la récupérer. Pour plus d'informations, voir SchemaName. Chaque relation d’entité de ce type a aussi une entité référencée (Entité principale) avec un attribut référencé, et une entité de référencement (Entité associée) avec un attribut de référencement. L’attribut de référencement peut être affiché sous forme de champ de recherche dans un formulaire d’entité. Pour plus d’informations, voir ReferencedEntity, ReferencedAttribute, ReferencingEntity et ReferencingAttribute.
Vous pouvez demander qu’une entité de référencement ait une référence en définissant AttributeRequiredLevel sur ApplicationRequired sur l’attribut de référencement. Pour préserver l’intégrité des données, lorsque vous effectuez cette opération, vous devez également spécifier ce qui doit se produire si l’enregistrement principal est supprimé. Utilisez la propriété CascadeConfiguration pour empêcher la suppression de l’enregistrement principal ou supprimer automatiquement l’enregistrement associé pour empêcher d’avoir un enregistrement orphelin.
Vous pouvez également utiliser la configuration en cascade pour automatiser le comportement lorsque des actions spécifiques sont exécutées sur les enregistrements associés de l'organisation.Pour plus d'informations :Comportement des relations d’entité
Mapper les données aux nouveaux enregistrements
Lorsqu’il existe une relation d’entité un-à-plusieurs, vous pouvez spécifier que les données issues de certains champs de l’entité référencée peuvent être transférées dans n’importe quel nouvel enregistrement associé créé dans le contexte de la relation. Cela peut rationaliser la saisie des données lorsque vous créez de nouveaux enregistrements associés. Pour plus d'informations, voir Personnaliser les mappages d’entités et d’attributs.
Auto-référencement des relations d’entité un-à-plusieurs (1 à N)
Une relation auto-référentielle apparaît là où l’entité de référencement et l’entité référencée est la même. Par exemple, l’entité de compte a une relation un-à-plusieurs auto-référentielle qui autorise une recherche portant l’étiquette Compte parent. Si le comportement d’une relation d’entité est défini comme Parental, il est impossible à un enregistrement de se référencer lui-même car cela créerait une référence circulaire lorsque des comportements en cascade sont appliqués.Pour plus d'informations :Comportement des relations d’entité
Relations d’entités hiérarchiques 1:N
Avec Microsoft Dynamics 365 (Online et local), vous pouvez spécifier une relation d'entité 1:N auto- référentielle comme relation hiérarchique conçue pour une entité. La propriété OneToManyRelationshipMetadata.IsHierarchical marque cette relation comme relation 1:N à utiliser pour l'entité.
Toutes les relations d'entité 1:N représentent un type de hiérarchie, mais les relations marquées explicitement avec la propriété IsHierarchical sont les seules relations d'entité prenant en charge les visualisations de hiérarchie de l'application, ainsi que les nouveaux opérateurs de requête pour récupérer les enregistrements associés de manière hiérarchique.Pour plus d'informations :Interroger les données hiérarchiques
Changer le nom des propriétés de navigation de l'API Web
Si vous souhaitez appliquer un nom de propriété de navigation de l'API Web personnalisé pour les relations un-à-plusieurs, vous pouvez définir des valeurs pour les propriétés OneToManyRelationshipMetadataReferencingEntityNavigationPropertyName Property et ReferencedEntityNavigationPropertyName Property.
Relations plusieurs-à-plusieurs
Dans une relation d’entité plusieurs-à-plusieurs, différents enregistrements d’entités peuvent être associés à différents autres enregistrements d’entités. Contrairement aux relations 1:N, il n’y a aucun champ de recherche sur les entités et, par conséquent, aucune hiérarchie. Les enregistrement associés avec une relation plusieurs-à-plusieurs (N à N) peuvent être considérés comme des homologues et la relation est réciproque. Une relation plusieurs-à-plusieurs (N à N) peut également être auto-référentiel. Étant donné qu’aucun comportement en cascade n’est impliqué dans les relations plusieurs-à-plusieurs (N à N), vous pouvez autoriser un enregistrement individuel à avoir une référence à lui-même.
Vous utilisez une instance de la classe ManyToManyRelationshipMetadata lorsque vous utilisez ce type de relation d’entité. Chaque relation d’entité a un SchemaName spécifique que vous utilisez pour la récupérer
La création d’une relation d’entité plusieurs-à-plusieurs (N à N) crée une nouvelle entité d’intersection où la propriété IsIntersect a la valeur true. Les enregistrements de cette entité suivent chaque relation plusieurs-à-plusieurs individuelle. Vous ne pouvez pas ajouter d’attributs personnalisés aux entités avec intersection.
Changer le nom des propriétés de navigation de l'API Web
Si vous souhaitez appliquer un nom de propriété de navigation de l'API Web personnalisé pour les relations plusieurs-à-plusieurs, vous pouvez définir des valeurs pour les propriétés ManyToManyRelationshipMetadataEntity1NavigationPropertyName Property et Entity2NavigationPropertyName Property.
Configurer les menus associés
Les deux types de relations d’entités permettent la configuration de liens de navigation entre les enregistrements associés. Utilisez les propriétés AssociatedMenuConfiguration dans chaque type de définition de relation d’entité pour indiquer comment afficher les liens de navigation dans un formulaire d’entité.
Ces valeurs fournissent la configuration par défaut de la relation. Vous pouvez utiliser l’éditeur de formulaires pour remplacer ces options pour chaque formulaire.Pour plus d'informations :TechNet : Utiliser l'éditeur de formulaires : Modifier la navigation
Behavior
Comporte les options suivantes :DoNotDisplay
UseCollectionName
UseLabel
Group
Comporte les options suivantes :Détails
Marketing
Sales
Service
Vous ne pouvez pas ajouter de nouveaux groupes, mais vous pouvez modifier le texte affiché pour ceux-ci à l’aide de l’éditeur de formulaires.
Étiquette
Si vous sélectionnez AssociatedMenuBehavior.UseLabel, vous devez entrer une étiquette personnalisée.Ordre
L’entier fourni pour l’ordre contrôlera la position relative des éléments de navigation dans le groupe. Plus la valeur est faible, plus l’élément s’entend par rapport aux valeurs des autres éléments du groupe.
Voir aussi
Utiliser le service d'organisation avec des métadonnées Dynamics 365
Messages de métadonnées de relation de l’entité
Éligibilité de la relation d’entité
Comportement des relations d’entité
Créer et récupérer des entités-relations
Exemple : créer et récupérer des entités-relations
Exemple : Vidage des informations de relation d’entité dans un fichier
Personnaliser les mappages d’entités et d’attributs
Extraire des enregistrements pour des relations plusieurs-à-plusieurs à l’aide des entités avec intersection
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright