Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans le document CSDL $metadata, juste en dessous de l’espace de noms de service, il existe une liste d’EntityTypes. Un type d’entité est un type structuré nommé avec une clé. Il définit les propriétés et relations nommées d’une table.
EntityType les éléments ont généralement les attributs suivants :
| Caractéristique | Descriptif |
|---|---|
Name |
Le nom du type ; le LogicalName pour la table. |
BaseType |
EntityType dont le type hérite. |
Par exemple, cet élément XML est le EntityType pour l’entité account, à l’exclusion des propriétés et des propriétés de navigation.
<EntityType Name="account" BaseType="mscrm.crmbaseentity">
<Key>
<PropertyRef Name="accountid" /> <!--The name of the primary key -->
</Key>
<!--Properties and navigation properties removed for brevity-->
<Annotation Term="Org.OData.Core.V1.Description" String="Business that represents a customer or potential customer. The company that is billed in business transactions." />
</EntityType>
À trois exceptions près, tous les types d’entités ont les éléments enfants suivants :
| Élément | Descriptif |
|---|---|
Key |
Contient un <PropertyRef> élément où l’attribut Name représente la clé primaire de la table. |
Property |
Contient des détails sur une propriété de EntityType. Consultez propriétés de l’API web. |
NavigationProperty |
Contient des détails sur une relation avec ce EntityType. Afficher les propriétés de navigation de l’API web |
Types d’entités spéciaux
Il existe trois types d’entités qui n’ont pas Key, Property ou NavigationProperty éléments.
crmbaseentity
Cet élément définit un type abstrait commun pour toute table qui contient des données métier.
<EntityType Name="crmbaseentity" Abstract="true" />
Étant donné que tous les types d’entités qui contiennent des données métier héritent crmbaseentity, crmbaseentity sont référencés lorsqu’une valeur n’est pas spécifique à une table.
expando
Cet élément définit un type d’entité qui hérite de crmbaseentity et qui est également un OData OpenType.
<EntityType Name="expando" BaseType="mscrm.crmbaseentity" OpenType="true" />
Un type d’entité expando peut être utilisé comme paramètre pour une action ou comme propriété de réponse à partir d’une fonction ou d’une action.
Plus d’informations : Utiliser des types ouverts avec des API personnalisées
crmmodelbaseentity
Cet élément existe près du bas du document $metadata :
<EntityType Name="crmmodelbaseentity" Abstract="true" />
Cet élément définit un type abstrait commun pour toutes les définitions de schéma. Il s’agit du type de base d’une autre classe de base abstraite utilisée pour les définitions de table. Sauf si vous souhaitez créer et modifier des tables, des colonnes et des relations à l’aide de l’API Web, vous n’avez pas besoin d’utiliser des types d’entités qui héritent de ce type. Pour plus d’informations, utilisez l’API web avec des définitions de table.
Héritage de « EntityType »
Pour les données métier, il existe deux types d’entités plus abstraits qui héritent de crmbaseentity:
| EntityType | Descriptif |
|---|---|
principal |
systemuser et team les types d’entités héritent du type d’entité principal . Le principal fournit uniquement la ownerid propriété dont dispose chaque table appartenant à l’utilisateur. Cet héritage permet aux enregistrements appartenant à l’utilisateur d’être attribués à un utilisateur ou à une équipe. La propriété ownerid est la clé primaire pour les systemuser et team types d'entités. |
activitypointer |
Toute table configurée en tant qu’activité hérite du type d’entité activitypointer . Ce type fournit des propriétés courantes trouvées dans les types d’entités tels que : appointment, , emailfax, letter, , phonecall, et task. Vous pouvez également créer une table personnalisée qui représente une activité. Ces propriétés communes permettent de récupérer une liste d’activités de différents types à l’aide de ces propriétés communesLa activityid propriété est la clé primaire de tous les types d’entités qui héritent de activitypointer. |
Lorsque vous utilisez des définitions de table, il existe une autre hiérarchie d’héritage.
MetadataBasele type d’entité hérite de l’abstrait crmmodelbaseentity pour fournir des MetadataId et HasChanged propriétés communes. Pour plus d’informations, utilisez l’API web avec des définitions de table.
Clés secondaires
Lorsqu’un type d’entité a des clés alternatives définies, il existe une Annotation description des propriétés impliquées dans la définition de clé de remplacement.
L’exemple suivant montre l’annotation lorsque l’entité account a été configurée pour activer la accountnumber propriété en tant que clé alternative.
<Annotation Term="OData.Community.Keys.V1.AlternateKeys">
<Collection>
<Record Type="OData.Community.Keys.V1.AlternateKey">
<PropertyValue Property="Key">
<Collection>
<Record Type="OData.Community.Keys.V1.PropertyRef">
<PropertyValue Property="Alias" String="accountnumber" />
<PropertyValue Property="Name" PropertyPath="accountnumber" />
</Record>
</Collection>
</PropertyValue>
</Record>
</Collection>
</Annotation>
Plus d’informations : Récupérer un enregistrement à l’aide d’une autre clé
Étapes suivantes
Apprenez-en davantage sur les propriétés.
Voir aussi
Types d’API Web et opérations
Documents de service d’API web
Propriétés de l’API web
Propriétés de navigation de l’API web
Actions de l’API web
Fonctions d’API web
Types complexes et énumération de l’API web
Utiliser l’API web Dataverse