Générer des Early-Bound Entities avec PAC CLI

Adam Fraga | Jan 17, 2025 min read

Dans cet article, nous allons voir comment utiliser l’outil PAC CLI pour générer des classes fortement typées (early-bound) à partir des entités Dataverse, facilitant ainsi le développement d’applications Dynamics 365 ou Power Platform.

Pourquoi utiliser des Early-Bound Entities ?

Les classes early-bound permettent d’interagir avec Dataverse via du code fortement typé. Cela améliore :

  • La maintenabilité : moins d’erreurs liées aux noms de champs.
  • L’intelligence de développement : vous bénéficiez de la complétion automatique dans votre IDE.
  • Les performances : élimination de la surcharge des late-bound (types dynamiques).

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Power Platform CLI installé (guide d’installation officiel).
  • Accès à un environnement Dataverse pour lequel vous avez les autorisations nécessaires.
  • Un projet .NET configuré, où les classes générées seront intégrées.

Étape 1 : Connectez-vous à Dataverse

Lancez une connexion à votre environnement Dataverse en utilisant la commande suivante :

pac auth create --url https://votre-org.crm.dynamics.com

Cette commande authentifie votre instance Dynamics 365 ou Power Platform.

Étape 2 : Créez un fichier de configuration

Utilisez la commande suivante pour générer un fichier builderSettings.json par défaut :

pac modelbuilder build --writesettingsTemplateFile

Ce fichier sert de base pour spécifier les paramètres de génération tels que les entités et messages à inclure.

Étape 3 : Configurez builderSettings.json

Ouvrez le fichier généré et personnalisez-le selon vos besoins. Exemple de configuration :

{
  "namespace": "MyApp.Model",
  "serviceContextName": "MyServiceContext",
  "generateSdkMessages": true,
  "entityNamesFilter": [
    "account",
    "contact"
  ],
  "messageNamesFilter": [
    "Create",
    "Update"
  ]
}
  • namespace : Définissez l’espace de noms pour les classes générées.
  • serviceContextName : Nom du contexte de service.
  • entityNamesFilter : Liste des entités que vous voulez inclure.
  • generateSdkMessages : Indique si les messages doivent être générés.

Étape 4 : Générez les classes Early-Bound

Pour générer les fichiers, exécutez :

pac modelbuilder build --settingsTemplateFile chemin/vers/builderSettings.json --outdirectory chemin/vers/dossier/output

Les fichiers .cs correspondant aux entités, messages, et au contexte seront générés dans le dossier spécifié.

Étape 5 : Intégrez les classes dans votre projet .NET

Ajoutez les fichiers générés à votre projet, puis compilez pour vérifier leur fonctionnement.

Exemple d’utilisation dans le code :

using MyApp.Model;

var serviceContext = new MyServiceContext(service);
var account = new Account
{
    Name = "Entreprise Exemple",
    Telephone1 = "123-456-7890"
};
serviceContext.AddObject(account);
serviceContext.SaveChanges();

Ressources supplémentaires

Conclusion

En utilisant PAC CLI pour générer des entités early-bound, vous simplifiez le développement et améliorez la qualité de vos applications Dynamics 365 ou Power Platform. Suivez ces étapes pour gagner du temps tout en réduisant les erreurs potentielles.