Partager via


Interroger des données à l’aide de FetchXml

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

Nonte

FetchXml est également utilisé pour définir des vues pour les applications pilotées par modèle et certaines fonctionnalités de création de rapports. Les éléments et les attributs pour ces cas d’utilisation ne sont pas inclus ici. En savoir plus sur la personnalisation des vues des applications pilotées par modèle avec un code.

Composer une requête

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’name.

Limiter le nombre de lignes

Pour limiter le nombre de lignes renvoyées, utilisez l’attribut de l’top. Sans l’attribut top, Dataverse renvoie jusqu’à 5 000 lignes pour les tables standard et 500 lignes pour les 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 de l’distinct pour exiger que la requête exclut toutes les valeurs en double 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

Pour obtenir les résultats de votre requête, vous devez envoyer votre demande à Dataverse. Découvrez comment récupérer des données de Dataverse en utilisant 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.
Tables de jointure 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 sur 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 Découvrez comment optimiser les performances

Outils de la communauté

Le XrmToolBoxFetchXmlBuilder est un outil gratuit pour composer et tester des requêtes FetchXml.

Nonte

Les outils créés par la communauté ne sont pas pris en charge par Microsoft. 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 SendBulkMail
Rollup RollupRequest Fonction de cumul

Étapes suivantes

Découvrez comment sélectionner les colonnes.

Découvrez comment récupérer des données avec FetchXml.