Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple .NET 6.0 démontre comment effectuer des opérations qui créent et modifient des définitions de table, de colonne et de relation à l’aide de l’API web Dataverse.
Cet exemple utilise le code d’assistance commun dans la Bibliothèque de classes WebAPIService (C#).
Note
Cet exemple implémente les opérations Dataverse et de sortie de la console détaillées dans Exemple d’opérations de schéma de table de l’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
Clonez ou téléchargez le référentiel Exemples PowerApps.
Localisez le dossier /dataverse/webapi/C#-NETx/MetadataOperations/.
Ouvrir le fichier
MetadataOperations.slnen utilisant Visual Studio 2022Modifiez le fichier
appsettings.jsonpour définir les valeurs de propriété suivantes :Property Instructions UrlURL pour votre environnement. Remplacez la valeur https://yourorg.api.crm.dynamics.comde l’espace réservé avec la valeur de votre environnement. Voir Afficher les ressources pour les développeurs pour trouver ça.UserPrincipalNameRemplacez la valeur you@yourorg.onmicrosoft.comde l’espace réservé avec la valeur UPN pour accéder à l’environnement.PasswordRemplacez la valeur yourPasswordde l’espace réservé avec le mot de passe que vous utilisez.Enregistrer le fichier
appsettings.jsonAppuyez sur F5 pour exécuter l’exemple.
Code
Le code de cet exemple est ici : PowerApps-Samples/dataverse/webapi/C#-NETx/MetadataOperations/Program.cs
Montre ce qui suit
Cet exemple comporte 11 régions :
Section 0 : Créer un éditeur et une solution
Opérations : créez un enregistrement de solution et un enregistrement d’éditeur associé.
Note
Tous les composants de solution créés dans cet exemple seront associés à la solution afin de pouvoir être exportés. Pour les opérations sans message nommé, cette association est créée à l’aide de l’en-tête de requête MSCRM.SolutionUniqueName définissant le nom unique de la solution défini comme valeur.
Tous les noms des composants de la solution sont précédés du préfixe de personnalisation de l’éditeur.
Section 1 : Créer, récupérer et mettre à jour la table
Opérations :
- Créez une table
sample_BankAccountappartenant à l’utilisateur en envoyant une requêtePOSTà/EntityDefinitions. - Récupérez la table créée en envoyant une requête
GETà/EntityDefinitions(LogicalName='sample_bankaccount'). - Mettez à jour la table en envoyant une requête
PUTà/EntityDefinitions(LogicalName='sample_bankaccount').
Section 2 : Créer, récupérer et mettre à jour des colonnes
Opérations :
- Créez une colonne
sample_booleanbooléenne pour la tablesample_BankAccounten envoyant une requêtePOSTà/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes. - Récupérez la colonne booléenne
sample_booleanen envoyant une requêteGETà/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_boolean'). - Mettez à jour la colonne booléenne
sample_booleanen envoyant une requêtePUTà/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_boolean'). - Mettez à jour les étiquettes d’option pour la colonne booléenne
sample_booleanà l’aide de l’action UpdateOptionValue. - Créez et récupérez une colonne DateHeure
sample_datetimepour la tablesample_BankAccount. - Créez et récupérez une colonne Décimal
sample_decimalpour la tablesample_BankAccount. - Créez et récupérez une colonne Entier
sample_integerpour la tablesample_BankAccount. - Créez et récupérez une colonne Mémo
sample_memopour la tablesample_BankAccount. - Créez et récupérez une colonne Devise
sample_moneypour la tablesample_BankAccount. - Créez et récupérez une colonne Choix
sample_choicepour la tablesample_BankAccount. - Ajoutez une nouvelle option à la colonne
sample_choiceà l’aide de l’action InsertOptionValue. - Modifiez l’ordre des options de la colonne
sample_choiceà l’aide de l’action OrderOption. - Supprimez l’une des options de la colonne
sample_choiceà l’aide de l’action DeleteOptionValue. - Créez et récupérez une colonne Choix multiple
sample_multiselectchoicepour la tablesample_BankAccoun. - Créez une nouvelle option de statut pour la table
sample_BankAccountà l’aide de l’action InsertStatusValue.
Section 3 : Créer et utiliser un groupe d’options global
Opérations :
- Créez un choix global nommé
sample_colorsen envoyant une requêtePOSTà/GlobalOptionSetDefinitions. - Récupérez le choix global
sample_colorsen envoyant une requêteGETà/GlobalOptionSetDefinitions(<id value>). - Créez une colonne Choix
sample_colorspour la tablesample_BankAccountà l’aide du choix globalsample_colorsen envoyant une requêtePOSTà/EntityDefinitions(LogicalName='sample_bankaccount')/Attributeset en l’associant au choix global.
Section 4 : Créer une relation client
Opérations :
- Créez une nouvelle colonne de client
sample_customeridpour la tablesample_BankAccountà l’aide de l’action CreateCustomerRelationships. - Récupérez la colonne Client
sample_customeriden envoyant une requêteGETà/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_customerid'). - Récupérez les relations créées pour la colonne Client en envoyant la requête
GETà/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata.`.
Section 5 : Créer et récupérer une relation un-à-plusieurs
Opérations :
- Vérifiez que la table
sample_BankAccountest éligible pour être référencée dans une relation 1:N à l’aide de la fonction CanBeReferenced. - Vérifiez que la table
contactest éligible pour référencer d’autres tables dans une relation 1:N à l’aide de la fonction CanBeReferencing. - Identifiez quelles autres tables peuvent référencer la table
sample_BankAccountdans une relation 1:N à l’aide de la fonction GetValidReferencingEntities. - Créez une relation 1à N entre les tables
sample_BankAccountetcontacten envoyant une requêtePOSTà/RelationshipDefinitions. - Récupérez la relation 1 à N en envoyant la requête
GETà/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata.
Section 6 : Créer et récupérer une relation plusieurs à un
Opérations :
- Créez une relation 1 à N entre les tables
sample_BankAccountetaccounten envoyant une requêtePOSTà/RelationshipDefinitions. - Récupérez la relation N à 1 en envoyant la requête
GETà/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata.
Section 7 : Créer et récupérer une relation plusieurs à plusieurs
Opérations :
- Vérifiez que les tables
sample_BankAccountetcontactsont éligibles pour participer à une relation N:N à l’aide de la fonction CanManyToMany. - Vérifiez que les tables
sample_BankAccountetcontactsont éligibles pour participer à une relation N:N à l’aide de la fonction GetValidManyToMany. - Créez une relation N à N entre les tables
sample_BankAccountetcontacten envoyant une requêtePOSTà/RelationshipDefinitions. - Récupérez la relation N à N en envoyant la requête
GETà/RelationshipDefinitions(<id>)/Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata.
Section 8 : Exporter la solution comme gérée
Opérations : exportez la solution créée dans la Section 0 : Créer un éditeur et une solution contenant les éléments créés dans cet exemple à l’aide de l’action ExportSolution.
Section 9 : 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.
Section 10 : Importer et supprimer la solution gérée
Opérations :
- Importez la solution exportée dans la Section 8 à l’aide de l’action ImportSolution.
- Interrogez la table des solutions pour obtenir l’
solutionidde la solution importée. - Supprimez la solution importée à l’aide de l’
solutionid.
Nettoyer
Par défaut, cet exemple supprimera tous les enregistrements créés dans celui-ci. Si vous souhaitez afficher les enregistrements créés une fois l’exemple terminé, modifiez la variable deleteCreatedRecords sur false et vous serez invité à décider si vous souhaitez supprimer les enregistrements.
Voir aussi
Utiliser l'API Web Dataverse
Bibliothèque de classes WebAPIService (C#)
Utiliser l’API web avec les définitions de table
Exemples d’API Web
Exemple d’opérations de base de l’API Web (C#)
Exemples de données de requête d’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 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#)