EntityTypes de l’API web
Au sein du document de $métadonnées CSDL, juste en dessous de l’espace de noms de service, vous trouverez une liste des EntityTypes. Un type d’entité est un type structuré nommé avec une clé. Il définit les propriétés et les relations nommées d’une table.
Les éléments EntityType
ont généralement les attributs suivants :
Attribute | Description |
---|---|
Name |
Le nom du type ; le LogicalName pour la table. |
BaseType |
Il s’agit de l’EntityType dont le type d’entité hérite. |
Par exemple, c’est l’élément XML 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 auront les éléments enfants suivants :
Élément | Description |
---|---|
Key |
Contient un élément <PropertyRef> où l’attribut Name représente la clé primaire de la table. |
Property |
Contient des détails sur une propriété d’EntityType. Voir Propriétés de l’API web. |
NavigationProperty |
Contient des détails sur une relation avec cet EntityType. Voir Propriétés de navigation de l’API web |
Types d’entités spéciales
Il existe trois types d’entités qui n’ont pas d’élément Key
, Property
ou NavigationProperty
.
crmbaseentity
Cet élément définit un type abstrait commun pour toute table contenant des données commerciales.
<EntityType Name="crmbaseentity" Abstract="true" />
Étant donné que tous les types d’entités contenant des données commerciales héritent de crmbaseentity
, vous trouverez crmbaseentity
référencé 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
, mais est aussi un OData OpenType .
<EntityType Name="expando" BaseType="mscrm.crmbaseentity" OpenType="true" />
Un type d’entité expando peut être utilisé comme paramètre d’une action ou comme propriété de réponse d’une fonction ou d’une action.
Plus d’informations : Utiliser des types ouverts avec des API personnalisées
crmmodelbaseentity
Cet élément existe à proximité du bas du document de $métadonnées, vous trouverez cet élément :
<EntityType Name="crmmodelbaseentity" Abstract="true" />
Cet élément définit un type abstrait commun pour toutes les définitions de schéma. C’est le type de base d’une autre classe de base abstraite utilisée pour les définitions de table. À moins que vous ne souhaitiez créer et modifier des tables, des colonnes et relations à l’aide de l’API web, vous n’aurez pas besoin d’utiliser des types d’entités qui héritent de ce type. Pour plus d’informations : Utiliser l’API web avec les définitions de table.
Héritage EntityType
Pour les données commerciales, vous trouverez deux autres types d’entités abstraites qui héritent de crmbaseentity
:
EntityType | Description |
---|---|
principal |
Les types d’entité systemuser et team héritent du type d’entité principal . Le principal ne fournit que la propriété ownerid , que possède chaque table appartenant à l’utilisateur. C’est ce qui 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 deux EntityTypes systemuser et team . |
activitypointer |
Toute table configurée en tant qu’activité héritera du type d’entité activitypointer . Ce type fournit des propriétés communes trouvées dans les types d’entité tels que : appointment , email , fax , 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 propriété activityid est la clé primaire pour tous les types d’entités qui héritent de activitypointer . |
Lorsque vous travaillez avec des définitions de table, il existe une autre hiérarchie d’héritage. Le type d’entité MetadataBase hérite de la description crmmodelbaseentity
pour fournir des propriétés MetadataId
et HasChanged
. Pour plus d’informations : Utiliser l’API web avec les définitions de table.
Clés secondaires
Lorsqu’un type d’entité a des clés alternatives définies, vous trouverez une Annotation
qui décrit les propriétés impliquées dans la définition clé secondaire.
L’exemple suivant montre l’annotation lorsque l’entité account
a été configurée pour activer la propriété accountnumber
en tant que clé secondaire.
<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 utilisant une clé secondaire
Étapes suivantes
En savoir plus sur les propriétés.
Voir aussi
Types d’API web et opérations
Documents de service de l’API web
Propriétés de l’API web
Propriétés de navigation de l’API web
Actions de l’API web
Fonctions de l’API web
Types Complex et Enumeration de l’API web
Utilisation de l’API web Dataverse
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).