Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Chaque table offre la possibilité de stocker des données structurées. Pour les développeurs, les tables correspondent aux classes que vous utiliserez lors de l’utilisation de données dans Microsoft Dataverse.
Noms de table
Chaque table a un nom unique défini lors de sa création. Ce nom est présenté de plusieurs façons :
| Nom de la propriété | Descriptif |
|---|---|
SchemaName |
Généralement une version du nom logique Pascal. Par exemple, Compte |
CollectionSchemaName |
Forme plurielle du nom de schéma. Par exemple, Comptes |
LogicalName |
Toutes les versions minuscules du nom du schéma. Par exemple, compte |
LogicalCollectionName |
Toute version minuscule du nom de schéma de la collection. Par exemple, les comptes |
EntitySetName |
Permet d’identifier les collections avec l’API web. Par défaut, il est identique au nom de la collection logique. Il est possible de modifier le nom de l’ensemble d’entités en mettant à jour par programme les définitions. Toutefois, vous devez effectuer cette opération uniquement avant l’écriture d’un code d’API web pour la table. Plus d’informations : Nom de l’ensemble d’entités |
Note
EntitySetName est généré automatiquement en transformant le EntityName en pluriel de ce nom. Exemple : EntityName : Car EntitySetName : Cars. Lors de la création manuelle d’une nouvelle table, le EntitySetName peut être modifié. Le système créé EntitySetName sera toujours le pluriel de EntityName et ces éléments ne peuvent pas être modifiés par l'interface cliente. Cela inclut les tables système ainsi que les tables créées pour les intersections de relations de type plusieurs-à-plusieurs.
Lorsque vous créez une table personnalisée, le nom que vous choisissez est ajouté à la valeur de préfixe de personnalisation de l’éditeur de solution associé à la solution dans laquelle la table a été créée. Autre que le nom du jeu d’entités, vous ne pouvez pas modifier les noms d’une table après sa création. Si vous souhaitez des noms cohérents pour les éléments de définition de votre solution, vous devez les créer dans le contexte d’une solution que vous créez associée à un éditeur de solution qui contient le préfixe de personnalisation que vous souhaitez utiliser. Plus d’informations : Éditeur de solution
Chaque table possède également trois propriétés qui peuvent afficher des valeurs localisées :
| Nom | Descriptif |
|---|---|
DisplayName |
En règle générale, identique au nom du schéma, mais peut inclure des espaces. Par exemple, Compte |
DisplayCollectionName |
Forme plurielle du nom d'affichage. Par exemple, Comptes |
Description |
Courte phrase décrivant la table, à savoir Entité commerciale qui représente un client ou un prospect. Société facturée dans les transactions professionnelles. |
Il s’agit des valeurs localisables utilisées pour faire référence aux tables d’une application. Ces valeurs peuvent être modifiées à tout moment. Pour ajouter ou modifier des valeurs localisées, consultez Traduire le texte personnalisé de tableau, de formulaire et de colonne dans d’autres langues.
Clé primaire
La PrimaryIdAttribute valeur de propriété est le nom logique de la colonne qui est la clé primaire de la table.
Par défaut, toutes les tables ont une seule colonne d’identificateur unique GUID nommée : <table logical name>Id.
Nom principal
La PrimaryNameAttribute valeur de propriété est le nom logique de la colonne qui stocke la valeur de chaîne qui identifie l’enregistrement de table. Il s’agit de la valeur qui sera affichée dans un lien pour ouvrir l’enregistrement dans une interface utilisateur.
Exemple : la table Contact utilise la fullname colonne comme colonne de nom principal.
Note
Toutes les tables n’auront pas de nom principal. Certaines tables ne sont pas destinées à être affichées dans une interface utilisateur.
Images d’entité
La PrimaryImageAttribute valeur de propriété est le nom logique de la colonne d’image choisie pour représenter l’enregistrement d’entité. Cette image peut être affichée dans une application.
Exemple : la colonne EntityImage de la table de contacts peut stocker une image du contact.
Note
Cela diffère de l’icône affichée pour une table dans les applications basées sur des modèles. La IconVectorName propriété contient le nom de la ressource web SVG qui définit ceci.
Plus d’informations :
- Utiliser des définitions de colonnes d’image à l’aide du code
- Utiliser des données de colonne d’image
- Exemple : Opérations d’image à l’aide du Kit de développement logiciel (SDK) Dataverse pour .NET
- Exemple : Opérations d’image à l’aide de l’API web Dataverse
Types de tables
Les fonctionnalités et le comportement des tables dépendent de plusieurs propriétés de table. La plupart de ces propriétés sont relativement simples et ont des noms descriptifs. Parmi quatre propriétés qui nécessitent une explication supplémentaire, citons : Propriété, Tables d’activité, Table Activityparty et Tables Enfants.
Propriété de table
Les tables peuvent être classées selon la façon dont les données qu’elles contiennent sont détenues. Il s’agit d’un concept important concernant la manière dont la sécurité est appliquée aux tables. Ces informations se trouvent dans la OwnershipType propriété. Le tableau suivant décrit les différents types de propriété :
| Type de propriété | Descriptif |
|---|---|
| Métier | Les données appartiennent à l’unité commerciale. L’accès aux données peut être contrôlé au niveau de l’unité commerciale. |
| Aucun | Données non possédées par une autre table. |
| Organisation | Les données appartiennent à l’organisation. L’accès aux données est contrôlé au niveau de l’organisation. |
| Utilisateur ou équipe | Les données appartiennent à un utilisateur ou à une équipe. Les actions pouvant être effectuées sur ces enregistrements peuvent être contrôlées à un niveau utilisateur. |
Lorsque vous créez de nouvelles tables, les seules options de propriété sont les suivantes : Organisation ou Utilisateur ou Équipe. Une fois que vous avez choisi cette option, vous ne pouvez pas la modifier. Choisissez l’utilisateur ou l’équipe pour le contrôle le plus précis sur qui peut afficher ou effectuer des actions sur les enregistrements. Choisissez Organisation quand ce niveau de contrôle n’est pas nécessaire.
Tables d'activité
Une activité est une tâche effectuée, ou à effectuer, par un utilisateur. Une activité est une action pour laquelle on peut placer une entrée dans le calendrier.
Les activités sont modélisées différemment des autres types de tables qui stockent des données métier. Les données sur les activités sont fréquemment affichées ensemble dans une liste, mais chaque type d’activité nécessite des propriétés uniques. Au lieu d’avoir une table Activité unique avec chaque propriété possible, il existe des types distincts de tables d’activité et chacun d’entre eux hérite des propriétés d’une table ActivityPointer de base. Ces tables auront la IsActivity propriété définie sur true.
| Table | Descriptif |
|---|---|
| Rendez-vous | Engagement représentant un intervalle avec heures de début/fin et durée. |
| Activité effectuée via des protocoles de courrier électronique. | |
| Fax | Activité qui vérifie le résultat d’un appel et le nombre de pages d’une télécopie, et qui stocke éventuellement la copie électronique du document. |
| Lettre | Activité de suivi de la livraison d’une lettre. L’activité peut contenir la copie électronique de la lettre. |
| Appel téléphonique | Activité de suivi d’un appel téléphonique. |
| RecurringAppointmentMaster | Rendez-vous principal d’une série de rendez-vous périodiques. |
| SocialActivity | Réservé exclusivement à un usage interne. |
| Tâche | Activité générique représentant le travail à effectuer. |
Chaque fois que quelqu’un crée un de ces types d’enregistrements de table d’activité, un enregistrement de table correspondant ActivityPointer est créé avec la même ActivityId valeur de colonne d’identificateur unique. Vous ne pouvez pas créer, mettre à jour ou supprimer des instances de la ActivityPointer table, mais vous pouvez les récupérer. C’est ce qui permet à tous les types d’activités d’être présentés ensemble dans une liste.
Vous pouvez créer des tables d’activité personnalisées qui se comportent de la même façon.
Table ActivityParty
Cette table est utilisée pour ajouter une structure aux colonnes de table PartyListType d’activité qui incluent des références à d’autres tables. Vous utiliserez ce tableau lors de la définition de valeurs pour les colonnes de table d’activité comme Email.to ou PhoneCall.from. Dans la table ActivityParty, vous définissez la colonne ParticipationTypeMask pour définir le rôle que la référence joue. Les rôles incluent Sender, ToRecipientOrganizeret bien plus encore.
Vous pouvez interroger la ActivityParty table, mais vous ne pouvez pas créer, récupérer, mettre à jour ou supprimer une partie d’activité en dehors de l’activité à laquelle elle est liée.
Plus d’informations :
Tables Child
Les tables où la propriété a la IsChildEntity valeur true n’ont jamais de privilèges définis et ne seront jamais détenues par l’utilisateur ou l’équipe. Les opérations qui peuvent être effectuées sur une entité enfant sont liées à une table à laquelle elles sont associées par le biais d’une relation plusieurs-à-un. Les utilisateurs peuvent effectuer des opérations sur des tables enfants uniquement s’ils peuvent effectuer la même opération sur la table associée. Les tables enfants sont supprimées automatiquement quand l’enregistrement de table dont elles dépendent est supprimé.
Par exemple, PostComment, PostLikeet PostRole sont chacun des enfants de la Post table.
Keys
Chaque définition de clé alternative décrit une ou plusieurs colonnes en combinaison qui identifient de manière unique une table. Les clés alternatives sont généralement utilisées uniquement pour l’intégration avec des systèmes externes. Vous pouvez définir d’autres clés pour identifier un enregistrement de manière unique. Cela est utile si vous intégrez des données à un système qui ne prend pas en charge les clés d’identificateur uniques GUID. Vous pouvez définir une valeur de colonne unique ou une combinaison de valeurs de colonne pour identifier de manière unique une table. L’ajout d’une autre clé applique une contrainte d’unicité sur ces colonnes. Vous ne pourrez pas créer ou mettre à jour un autre enregistrement de table pour avoir les mêmes valeurs.
Plus d’informations :
États de la table
La plupart des tables ont deux propriétés pour suivre l’état d’un enregistrement. Il s'agit de StateCode, appelé Statut dans les applications basées sur des modèles, et de StatusCode, appelé Raison du statut dans les applications basées sur des modèles.
Les deux colonnes contiennent un ensemble de choix qui affichent les valeurs valides. Les valeurs des colonnes StateCode et StatusCode sont liées de telle sorte que seuls certains choix StatusCode soient valides pour un StateCode donné.
Cela peut varier en fonction de la table, mais le modèle commun pour de nombreuses tables, et la valeur par défaut pour les tables personnalisées est la suivante :
| Choix du Code d'État | Choix de codes de statut |
|---|---|
| 0 : Actif | 1 : Actif |
| 1 : Inactif | 2 : Inactif |
Certaines tables auront différents ensembles de choix.
Exemple : PhoneCall table StateCode et StatusCode choix
| StateCode | StatusCode |
|---|---|
| 0 : Ouvrir | 1 : Ouvrir |
| 1 : Terminé | 2 : Fabriqué 4 : Reçu |
| 2 : Annulé | 3 : Annulé |
L’ensemble de codes d’état valides pour une table n’est pas personnalisable, mais les codes d’état sont personnalisables. Vous pouvez ajouter plus d’options StatusCode pour un StateCode correspondant.
Pour les tables personnalisées, vous pouvez définir davantage de critères pour les transitions valides entre les états.
Plus d’informations :