Partager via


Rechercher les définitions de schéma et détecter les modifications

Cet exemple montre comment récupérer et détecter les modifications dans les définitions de table à l’aide de la méthode RetrieveMetadataChangeRequest. Vous pouvez voir l’exemple sur PowerApps-Samples/dataverse/orgsvc/C#-NETCore/Schema/RetrieveMetadataChanges/

Consultez ces rubriques pour une explication des fonctionnalités :

Comment exécuter cet exemple

Voir les instructions ici : Instructions pour les exemples de schéma

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 6 sections :

Définir la requête

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

Initialiser le cache

  1. Créez une instance de RetrieveMetadataChangesRequest avec le paramètre Requête défini pour la requête.
  2. Envoyez la requête avec IOrganizationService.Execute.
  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 les attributs de la table des contacts.

Détecter une colonne ajoutée

  1. Créez une instance de RetrieveMetadataChangesRequest avec le paramètre Requête 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 avec IOrganizationService.Execute.
  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 RetrieveMetadataChangesRequest avec le paramètre Requête 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 uniquement les définitions de colonnes supprimées.
  4. Envoyez la requête avec IOrganizationService.Execute.
  5. Recherchez l’ID de la colonne de choix supprimée dans 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.

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