Partage via


Exemple d’API Web Rechercher les définitions de schéma et détecter les modifications (C#)

Cet exemple montre comment récupérer et détecter les modifications dans les définitions de table à l’aide de l’action RetrieveMetadataChanges.

Vous pouvez voir l’exemple sur PowerApps-Samples/dataverse/webapi/C#-NETCore/Schema/RetrieveMetadataChanges/

Consultez ces articles pour une explication des fonctionnalités :

Cet exemple utilise le code d’assistance commun dans la Bibliothèque de classes WebAPIService (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/RetrieveMetadataChanges/.

  3. Ouvrir le fichier RetrieveMetadataChanges.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 développeurs pour trouver l’URL pour votre environnement.
    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/RetrieveMetadataChanges/Program.cs

Montre ce qui suit

Cet exemple montre comment récupérer des définitions de schéma pour un ensemble spécifique de définitions de colonne et les enregistrer (en mémoire) pour représenter un cache.

Ensuite, il crée une colonne, récupère les données uniquement pour cette nouvelle colonne, qu’il ajoute au cache.

Ensuite, il supprime la colonne, récupère les données sur les éléments supprimés et les utilise pour supprimer la définition de colonne supprimée du cache.

Cet exemple comporte six sections :

Définir la requête

Définissez une requête à l’aide de EntityQueryExpression qui renvoie toutes les colonnes de choix de liste de sélection de la table de contacts.

Initialiser le cache

  1. Créez une instance de RetrieveMetadataChanges avec le paramètre Query défini pour la requête.
  2. Envoyez la requête et obtenez une RetrieveMetadataChangesResponse.
  3. Mettez en cache la valeur RetrieveMetadataChangesResponse.EntityMetadata.
  4. Enregistrez la valeur RetrieveMetadataChangesResponse.ServerVersionStamp à utiliser dans la prochaine requête.
  5. Écrivez une liste de toutes les colonnes actuelles dans le cache.

Ajouter une colonne de choix

Créez une colonne de choix en créant une instance PicklistAttributeMetadata dans la table des contacts.

Détecter une colonne ajoutée

  1. Créez une instance de RetrieveMetadataChanges avec le paramètre Query défini pour la requête d’origine.
  2. Définissez RetrieveMetadataChangesRequest.ClientVersionStamp avec la valeur précédemment renvoyée depuis la première requête.
  3. Envoyez la requête et obtenez une RetrieveMetadataChangesResponse.
  4. Vérifiez qu’une seule nouvelle définition de colonne a été renvoyée pour représenter la colonne de choix qui a été créée.
  5. Enregistrez la valeur RetrieveMetadataChangesResponse.ServerVersionStamp à utiliser dans la prochaine requête.
  6. Ajoutez ces données de colonne de choix au cache.

Supprimer une colonne de choix

Supprimez la colonne de choix créée précédemment.

Détecter une colonne supprimée

  1. Créez une instance de RetrieveMetadataChanges avec le paramètre Query défini pour la requête d’origine.
  2. Définissez RetrieveMetadataChangesRequest.ClientVersionStamp avec la valeur précédemment renvoyée depuis la seconde requête.
  3. Définissez RetrieveMetadataChangesRequest.DeletedMetadataFilters sur DeletedMetadataFilters.Attribute, car nous recherchons des définitions de colonnes supprimées.
  4. Envoyez la requête et obtenez une RetrieveMetadataChangesResponse.
  5. Recherchez l’ID de la colonne de choix supprimé dans la valeur RetrieveMetadataChangesResponse.DeletedMetadata, en utilisant DeletedMetadataFilters.Attribute comme valeur d’index pour la collection.
  6. Supprimez la définition de colonne du cache.
  7. Écrivez une liste de toutes les colonnes actuelles dans le cache.

Nettoyer

Aucun nettoyage n’est requis, car toutes les données créées par cet exemple ont été supprimées.

Voir aussi

Rechercher les définitions de schéma
Mettre en cache les données de schéma
Utilisation de l’API web Dataverse
Bibliothèque de classes WebAPIService (C#)
Exemple d’opérations de schéma de table de l’API web (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é).