Partage via


Interroger des données à l’aide de FetchXML dans Dataverse

FetchXML est un langage de requête XML propriétaire utilisé pour récupérer des données à partir de Dataverse. Consultez Référence FetchXml pour connaître les éléments utilisés pour récupérer des données.

Note

Vous pouvez également utiliser FetchXML pour définir des vues pour les applications basées sur des modèles et certaines fonctionnalités de création de rapports. Cet article n’inclut pas d’éléments et d’attributs pour ces cas d’usage. En savoir plus sur la personnalisation des vues des applications pilotées par modèle avec un code.

Composer une requête FetchXML

Toutes les requêtes sont basées sur une seule table. L’élément racine est fetch. Utilisez l’élément entity pour sélectionner la table à partir de laquelle la requête récupère des données. L’exemple suivant représente une requête FetchXML simple :

<fetch top='5'>
  <entity name='account'>
      <attribute name='name' />
  </entity>
</fetch>

Cette requête renvoie la colonne Nom des cinq premières lignes de la table Compte, en utilisant le LogicalName de la table pour définir l'attribut de l’entité<.c3>.

Limiter le nombre de lignes

Pour limiter le nombre de lignes renvoyées, utilisez l’élément fetchtop. Sans l’attribut top , Dataverse retourne jusqu’à 5 000 lignes de tables standard et 500 lignes de tables élastiques.

Sinon, spécifiez un certain nombre d’enregistrements à renvoyer en utilisant la pagination. N’utilisez pas l’attribut top lorsque vous demandez des pages de données. Découvrez comment demander des résultats paginés

Vous ne pouvez pas utiliser l’attribut top lorsque vous demandez un nombre de lignes en utilisant l’attribut returntotalrecordcount. Découvrez comment compter des lignes

Renvoyer des résultats distincts

Utilisez l'attribut fetch elementdistinct pour exiger que la requête exclue toute valeur dupliquée dans les résultats.

Si vous utilisez l’attribut distinct, vous devez ajouter au moins un élément order pour avoir une pagination cohérente.

Lorsque vous utilisez l’attribut distinct, les résultats renvoyés n’incluent pas les valeurs de clé primaire pour chaque enregistrement, car ils représentent une agrégation de toutes les valeurs distinctes.

Récupérer des données avec FetchXML

Pour obtenir les résultats de votre requête, envoyez votre demande à Dataverse. Apprenez à récupérer des données à partir de Dataverse à l’aide de FetchXml.

Affiner votre requête

Après avoir sélectionné la table avec laquelle démarrer votre requête, affinez la requête pour obtenir les données nécessaires. Les articles suivants expliquent comment compléter votre requête.

Article Tâche
Sélectionner des colonnes Spécifiez les colonnes de données à renvoyer.
Joindre les tables Spécifiez les tables associées à renvoyer dans les résultats.
Lignes de commande Spécifiez l’ordre de tri des lignes à renvoyer.
Lignes de filtre Spécifiez les lignes de données à renvoyer.
Résultats de la page Spécifiez le nombre de lignes de données à renvoyer avec chaque requête.
Données agrégées Découvrez comment regrouper et agréger les données renvoyées.
Compter le nombre de lignes Découvrez comment obtenir un décompte du nombre de lignes renvoyées.
Optimisations des performances Comment optimiser les performances.

Outils de la communauté

Il existe des outils gratuits pour composer et tester les requêtes FetchXML :

Note

Microsoft ne prend pas en charge les outils créés par la communauté. Si vous avez des questions ou des problèmes avec les outils de la communauté, contactez l’éditeur de l’outil.

Utiliser FetchXML comme paramètre de message

Vous pouvez également utiliser FetchXML comme paramètre pour les opérations Dataverse, telles que les messages suivants :

Nom du message Classe de requête du SDK pour .NET Opération de l’API Web
BackgroundSendEmail BackgroundSendEmailRequest Action BackgroundSendEmail
BulkDetectDuplicates BulkDetectDuplicatesRequest Action BulkDetectDuplicates
FullTextSearchKnowledgeArticle FullTextSearchKnowledgeArticleRequest Action FullTextSearchKnowledgeArticle
FetchXmlToQueryExpression FetchXmlToQueryExpressionRequest Fonction FetchXmlToQueryExpression
SendBulkMail SendBulkMailRequest Action "Envoyer Courrier en Masse" (SendBulkMail)
Rollup RollupRequest Fonction de cumul

Étapes suivantes

Découvrez comment sélectionner les colonnes.

Découvrez comment récupérer des données à l’aide de FetchXML.