Exemples de données de requête d’API web (C#)

Cet exemple .NET 6.0 montre comment effectuer des opérations de données communes à l’aide de l’API Web de Dataverse.

Cet exemple utilise le code d’assistance commun dans la Bibliothèque de classes WebAPIService (C#).

Notes

Cet exemple implémente les opérations Dataverse et de sortie de la console détaillées dans Exemple de données de requête d’API Web et utilise les constructions C# courantes décrites dans Exemples de l’API Web (C#).

Conditions préalables

Les éléments suivants sont requis pour générer et exécuter cet exemple :

  • Microsoft Visual Studio 2022.
  • Accès à Dataverse avec les privilèges d′exécution des opérations de données.

Comment exécuter cet exemple

  1. Clonez ou téléchargez le référentiel Exemples PowerApps.

  2. Localisez le dossier /dataverse/webapi/C#-NETx/QueryData/.

  3. Ouvrir le fichier QueryData.sln en utilisant Visual Studio 2022

  4. Modifiez le fichier appsettings.json pour définir les valeurs de propriété suivantes :

    Property Instructions
    Url URL pour votre environnement. Remplacez la valeur https://yourorg.api.crm.dynamics.com de l’espace réservé avec la valeur de votre environnement. Voir Afficher les ressources pour les développeurs pour trouver ça.
    UserPrincipalName Remplacez la valeur you@yourorg.onmicrosoft.com de l’espace réservé avec la valeur UPN pour accéder à l’environnement.
    Password Remplacez la valeur yourPassword de l’espace réservé avec le mot de passe que vous utilisez.
  5. Enregistrer le fichier appsettings.json

  6. Appuyez sur F5 pour exécuter l’exemple.

Code

Le code de cet exemple est ici : PowerApps-Samples/dataverse/webapi/C#-NETx/QueryData/Program.cs

Montre ce qui suit

Cet exemple comporte 11 régions :

Section 0 : Créer des enregistrements à interroger

Opérations : Créez 1 enregistrement account avec 9 enregistrements contact associés. Chaque contactdispose de 3 enregistrements task associés.

Ce sont les données qui seront utilisées dans cet exemple.

Section 1 : Sélection des propriétés spécifiques

Opérations :

  • Utiliser $select par rapport à une entité de contact pour obtenir les propriétés souhaitées.
  • L’inclusion d’annotations permet d’accéder à des valeurs formatées avec l’annotation @OData.Community.Display.V1.FormattedValue

Section 2 : Utilisation des fonctions de requête

Opérations :

  • Utilisation des fonctions de requête standard (contains, endswith, startswith) pour filtrer les résultats.
  • Utilisation des fonctions de requête Dataverse (LastXhours, Last7Days, Today, Between, In)
  • Utilisation d’opérateurs de filtrage et d’opérateurs logiques (eq, ne, gt, and, or)
  • Définir la priorité à l’aide de parenthèses ((criteria1) and (criteria2)) or (criteria3)

Section 3 : Classement et alias

Opérations :

  • Utilisation de $orderby
  • Utilisation d’alias paramétrés (?@p1=fullname) avec $filter et $orderby

Section 4 : Limiter et compter les résultats

Opérations :

  • Limiter les résultats en utilisant $top.
  • Obtenez une valeur de comptage en utilisant $count.

Section 5 : Pagination

Opérations :

  • Utilisez l’en-tête de demande Prefer: odata.maxpagesize pour limiter le nombre de lignes renvoyées.
  • Utilisez l’url renvoyée avec l’annotation @odata.nextLink pour récupérer l’ensemble d’enregistrements suivant.

Section 6 : Développement des résultats

Opérations :

  • $expand avec propriétés de navigation à valeur unique.
  • $expand avec propriété partenaire.
  • $expand avec propriétés de navigation à valeur de collection.
  • $expand avec plusieurs types de propriétés de navigation dans une seule requête.
  • $expand imbriqué.
  • $expand imbriqué avec des propriétés de navigation à valeur unique et valeur de collection.

Section 7 : Agréger les résultats

Opérations : Utiliser $apply=aggregate avec average, sum, min, & max.

Section 8 FetchXML Requêtes

Opérations :

  • Envoi de requêtes à l’aide de fetchXml à l’aide de ?fetchXml=
  • Pagination à l’aide des attributs page et count.

Section 9 : Utiliser des requêtes prédéfinies

Opérations :

  • Utiliser {entitysetname}?savedQuery={savedqueryid} pour renvoyer les résultats d’une requête enregistrée (vue système)
  • Utiliser {entitysetname}?userQuery={userquery} pour renvoyer les résultats d’une requête utilisateur (vue enregistrée)

Section 10 : Supprimer des exemples d’enregistrements

Opérations : une référence à chaque enregistrement créé dans cet exemple a été ajoutée à une liste lors de sa création. Dans cet exemple, les enregistrements sont supprimés à l’aide d’une opération $batch.

Voir aussi

Interroger des données à l’aide de l’API Web
Exemples de données de requête d′API Web
Utiliser l’API web Dataverse Exemple d′opérations de base de l′API web (C#)
Exemple d’opérations conditionnelles de l’API web (C#)
Exemple de fonctions et d’actions de l’API web (C#)
Exemple d’opérations de schéma de table de l’API web (C#)
Exemple d′opérations parallèles de l′API web WebApiService (C#)
Exemple d’opérations parallèles d’API Web avec des composants de flux de données TPL (C#)

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é).