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
Clonez ou téléchargez le référentiel Exemples PowerApps.
Localisez le dossier /dataverse/webapi/C#-NETx/RetrieveMetadataChanges/.
Ouvrir le fichier
RetrieveMetadataChanges.sln
en utilisant Visual Studio 2022Modifiez 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.Enregistrer le fichier
appsettings.json
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
- Créez une instance de RetrieveMetadataChanges avec le paramètre
Query
défini pour la requête. - Envoyez la requête et obtenez une RetrieveMetadataChangesResponse.
- Mettez en cache la valeur
RetrieveMetadataChangesResponse.EntityMetadata
. - Enregistrez la valeur
RetrieveMetadataChangesResponse.ServerVersionStamp
à utiliser dans la prochaine requête. - É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
- Créez une instance de RetrieveMetadataChanges avec le paramètre
Query
défini pour la requête d’origine. - Définissez
RetrieveMetadataChangesRequest.ClientVersionStamp
avec la valeur précédemment renvoyée depuis la première requête. - Envoyez la requête et obtenez une RetrieveMetadataChangesResponse.
- 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.
- Enregistrez la valeur
RetrieveMetadataChangesResponse.ServerVersionStamp
à utiliser dans la prochaine requête. - 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
- Créez une instance de RetrieveMetadataChanges avec le paramètre
Query
défini pour la requête d’origine. - Définissez
RetrieveMetadataChangesRequest.ClientVersionStamp
avec la valeur précédemment renvoyée depuis la seconde requête. - Définissez
RetrieveMetadataChangesRequest.DeletedMetadataFilters
surDeletedMetadataFilters.Attribute
, car nous recherchons des définitions de colonnes supprimées. - Envoyez la requête et obtenez une RetrieveMetadataChangesResponse.
- Recherchez l’ID de la colonne de choix supprimé dans la valeur
RetrieveMetadataChangesResponse.DeletedMetadata
, en utilisantDeletedMetadataFilters.Attribute
comme valeur d’index pour la collection. - Supprimez la définition de colonne du cache.
- É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é).