Procédure : personnaliser la génération de code de couche objet (Entity Data Model Designer)

Cette rubrique décrit comment utiliser ADO.NET Entity Data Model Designer (Concepteur d'entités) et des modèles de texte pour personnaliser la génération de contexte de l'objet et les classes d'entité (code de couche objet).

Par défaut, le Concepteur d'entités utilise l'outil personnalisé EntityModelCodeGenerator pour générer le code de couche objet. Pour plus d'informations, consultez Présentation du code généré (Entity Data Model Designer). Lorsque vous ajoutez un modèle de texte à un projet, le Concepteur d'entités peut utiliser le modèle pour générer le code de couche objet au lieu de l'outil personnalisé par défaut.

Dd456821.note(fr-fr,VS.100).gifRemarque :
Vous pouvez utiliser des outils en ligne de commande pour générer le code de couche objet avec un modèle de texte.Pour plus d'informations, consultez Outils en ligne de commande pour les modèles de texte.

Visual Studio fournit deux modèles ADO.NET qui génèrent le code de couche objet Entity Framework : ADO.NET EntityObject Generator et Générateur d'entité de suivi automatique ADO.NET. ADO.NET EntityObject Generator génère le même code que l'outil personnalisé EntityModelCodeGenerator. Le modèle Générateur d'entité de suivi automatique ADO.NET génère des classes d'entité qui contiennent la logique de l'état de suivi automatique. Utilisez les entités de suivi automatique lorsque vous travaillez avec des applications multicouches. Pour plus d'informations sur les modèles ADO.NET, consultez Modèle ADO.NET EntityObject Generator et Modèle Générateur d'entité de suivi automatique ADO.NET.

La procédure suivante suppose ce qui suit :

  • Un projet en Visual Basic ou en C# qui cible le .NET Framework 4 est ouvert dans Visual Studio 2010.

  • Un fichier .edmx est ouvert dans le Concepteur d'entités.

  • Vous êtes familiarisé avec la personnalisation de modèles de texte. Pour plus d'informations sur les modèles de texte, consultez Génération d'artefacts.

Pour personnaliser la génération de code de couche objet

  1. Cliquez avec le bouton droit sur une zone vide de l'aire du Concepteur d'entités, pointez sur Ajouter un élément de génération de code, puis sélectionnez un modèle disponible. Si aucun modèle n'est disponible, sélectionnez Code dans le volet Modèles installés.

    L'élément de génération de code ajoute un ou plusieurs fichiers de modèle de texte (.tt) au projet. Les modèles de texte génèrent le code de couche objet. Les fichiers générés sont ajoutés sous les fichiers .tt. Si vous ne modifiez pas ce modèle, le code généré sera le même que le code généré par le Concepteur d'entités.

    Lorsque vous ajoutez le modèle de texte à votre projet, Visual Studio effectue les opérations suivantes :

    • Définit la propriété Stratégie de génération de code du modèle conceptuel sur Aucun. Cela désactive la génération de code par défaut.

    • Ajoute un nouveau fichier de modèle de texte au projet dans le même répertoire que le fichier .edmx.

    • Insère le chemin d'accès au fichier .edmx relatif au modèle de texte dans le modèle de texte. Cela permet au modèle de texte de traiter le fichier .edmx approprié.

    • Utilise le modèle de texte pour générer le code selon le fichier .edmx. Le code généré est écrit dans un fichier <text_template_name>.cs ou <text_template_name>.vb. Le fichier est ajouté en tant que fichier dépendant du fichier modèle dans l'Explorateur de solutions.

  2. Ouvrez le modèle de texte et modifiez-le.

  3. Enregistrez le fichier du modèle de texte modifié.

    Lorsque vous enregistrez le fichier du modèle de texte, le code de couche objet-est régénéré selon le fichier du modèle de texte modifié.

Par défaut, la génération de code de couche objet pour un fichier .edmx est déclenchée chaque fois que vous enregistrez le fichier .edmx. Toute modification manuelle apportée aux fichiers de code <text_template_name>.cs ou <text_template_name>.vb n'est pas conservée. Si un fichier .edmx est associé a plusieurs fichiers de modèle de texte, tous les fichiers de code associés sont régénérés lorsque le fichier .edmx est enregistré. Vous pouvez toutefois modifier ce comportement. Si vous affectez à la propriété Transformer les modèles de texte associés lors de l'enregistrement du modèle conceptuel la valeur false, les fichiers de code sont régénérés lorsque le fichier est enregistré.

Lorsque vous fractionnez le modèle et les fichiers .tt dans des projets séparés, vous devez exécuter la génération de code manuellement, chaque fois que vous modifiez un fichier .edmx ou .tt. Pour ce faire, cliquez sur bouton Transformer tous les modèles dans l'Explorateur de solutions. La rubrique Walkthrough: Serialize Self-Tracking Entities montre comment fractionner le modèle et les fichiers .tt dans des projets séparés.

Voir aussi

Concepts

Présentation d'un fichier .edmx (Entity Framework)

Autres ressources

ADO.NET Entity Data Model Tools