Modèles de génération de code de concepteur

Quand vous créez un modèle à l’aide d’Entity Framework Designer, vos classes et le contexte dérivé sont générés automatiquement pour vous. En plus de la génération de code par défaut, nous fournissons également un nombre de modèles pouvant servir à personnaliser le code généré. Ces modèles sont fournis sous forme de modèles de texte T4, ce qui vous permet de les personnaliser si nécessaire.

Le code généré par défaut dépend de la version de Visual Studio dans laquelle vous avez créé votre modèle :

  • Les modèles créés dans Visual Studio 2012 et 2013 génèrent des classes d’entité OCT simples et un contexte qui dérive de la classe DbContext simplifiée.
  • Les modèles créés dans Visual Studio 2010 génèrent des classes d’entité qui dérivent d’EntityObject et un contexte qui dérive d’ObjectContext.

Remarque

Nous vous recommandons de passer au modèle DbContext Generator après l’ajout de votre modèle.

Cette page décrit les modèles disponibles et fournit des instructions pour ajouter un modèle à votre modèle.

Modèles disponibles

Les modèles suivants sont fournis par l’équipe Entity Framework :

DbContext Generator

Ce modèle génère des classes d’entité OCT simples et un contexte qui dérive de DbContext à l’aide d’EF6. Il s’agit du modèle recommandé, sauf si vous avez besoin d’utiliser un des autres modèles répertoriés ci-dessous. C’est également le modèle de génération de code que vous obtenez par défaut si vous utilisez les versions récentes de Visual Studio (Visual Studio 2013 et versions ultérieures) : quand vous créez un modèle, ce modèle est utilisé par défaut et les fichiers T4 (.tt) sont imbriqués sous votre fichier .edmx.

Versions précédentes de Visual Studio

  • Visual Studio 2012 : Pour obtenir les modèles EF 6.x DbContextGenerator, vous devez installer la dernière version d’Entity Framework Tools pour Visual Studio (consultez la page Obtenir Entity Framework pour plus d’informations).
  • Visual Studio 2010 : Les modèles EF 6.x DbContextGenerator ne sont pas disponibles pour Visual Studio 2010.

DbContext Generator pour EF 5.x

Si vous utilisez une version antérieure du package NuGet EntityFramework (c’est-à-dire avec une version majeure égale à 5), vous devez utiliser le modèle EF 5.x DbContext Generator.

Si vous utilisez Visual Studio 2013 ou 2012, ce modèle est déjà installé.

Si vous utilisez Visual Studio 2010, vous devez sélectionner l’onglet En ligne quand vous ajoutez le modèle pour le télécharger à partir de la galerie Visual Studio. Vous pouvez aussi préinstaller le modèle directement à partir de la galerie Visual Studio. Comme les modèles sont inclus dans les versions ultérieures de Visual Studio, les versions de la galerie peuvent uniquement être installées sur Visual Studio 2010.

DbContext Generator pour EF 4.x

Si vous utilisez une version antérieure du package NuGet EntityFramework (c’est-à-dire avec une version majeure égale à 4), vous devez utiliser le modèle EF 4.x DbContext Generator. Il est disponible sous l’onglet En ligne quand vous ajoutez le modèle, ou vous pouvez le préinstaller directement à partir de la galerie Visual Studio.

EntityObject Generator

Ce modèle génère des classes d’entité qui dérivent d’EntityObject et un contexte qui dérive d’ObjectContext.

Remarque

Utilisation de DbContext Generator

DbContext Generator est désormais le modèle recommandé pour les nouvelles applications. DbContext Generator tire parti de l’API DbContext plus simple. EntityObject Generator reste disponible pour prendre en charge les applications existantes.

Visual Studio 2010, 2012 et 2013

Vous devez sélectionner l’onglet En ligne quand vous ajoutez le modèle pour le télécharger à partir de la galerie Visual Studio. Vous pouvez aussi préinstaller le modèle directement à partir de la galerie Visual Studio.

EntityObject Generator pour EF 5.x

Si vous utilisez Visual Studio 2012 ou 2013, vous devez sélectionner l’onglet En ligne quand vous ajoutez le modèle pour le télécharger à partir de la galerie Visual Studio. Vous pouvez aussi préinstaller le modèle directement à partir de la galerie Visual Studio. Les versions de la galerie peuvent être installées uniquement sur Visual Studio 2012 & 2013, car les modèles sont déjà inclus dans Visual Studio 2010.

Si vous voulez utiliser la génération de code ObjectContext sans avoir à modifier le modèle, vous pouvez revenir à la génération de code EntityObject.

Si vous utilisez Visual Studio 2010, ce modèle est déjà installé. Si vous créez un modèle dans Visual Studio 2010, il est utilisé par défaut, mais les fichiers .tt ne sont pas inclus dans votre projet. Pour personnaliser le modèle, vous devez l’ajouter à votre projet.

Self-Tracking Entities (STE) Generator

Ce modèle génère des classes d’entité de suivi automatique et un contexte qui dérive d’ObjectContext. Dans une application EF, c’est le contexte qui est chargé de suivre les changements des entités. Toutefois, dans les scénarios multicouches, le contexte risque de ne pas être disponible sur la couche qui modifie les entités. Les entités de suivi automatique vous aident à suivre les changements de n’importe quelle couche. Pour plus d’informations, consultez Entités de suivi automatique.

Remarque

Modèle des entités de suivi automatique non recommandé

Nous ne recommandons plus d’utiliser le modèle des entités de suivi automatique dans les nouvelles applications, mais il reste disponible pour prendre en charge les applications existantes. Consultez l’article sur les entités déconnectées afin de connaître les autres options que nous recommandons pour les scénarios multicouches.

Remarque

Le modèle des entités de suivi automatique n’a pas de version EF 6.x.

Remarque

Le modèle des entités de suivi automatique n’a pas de version Visual Studio 2013.

Visual Studio 2012

Si vous utilisez Visual Studio 2012, vous devez sélectionner l’onglet En ligne quand vous ajoutez le modèle pour le télécharger à partir de la galerie Visual Studio. Vous pouvez aussi préinstaller le modèle directement à partir de la galerie Visual Studio. Comme les modèles sont inclus dans Visual Studio 2010, les versions de la galerie peuvent uniquement être installées sur Visual Studio 2012.

Visual Studio 2010**

Si vous utilisez Visual Studio 2010, ce modèle est déjà installé.

POCO Entity Generator

Ce modèle génère des classes d’entité OCT et un contexte qui dérive d’ObjectContext

Remarque

Utilisation de DbContext Generator

DbContext Generator est désormais le modèle recommandé pour générer des classes OCT dans les nouvelles applications. DbContext Generator tire parti de la nouvelle API DbContext et peut générer des classes OCT plus simples. POCO Entity Generator reste disponible pour prendre en charge les applications existantes.

Remarque

Le modèle OCT n’a pas de version EF 5.x ou EF 6.x.

Remarque

Le modèle OCT n’a pas de version Visual Studio 2013.

Visual Studio 2012 et Visual Studio 2010

Vous devez sélectionner l’onglet En ligne quand vous ajoutez le modèle pour le télécharger à partir de la galerie Visual Studio. Vous pouvez aussi préinstaller le modèle directement à partir de la galerie Visual Studio.

Que sont les modèles « Web Sites »

Les modèles « Sites Web » (par exemple, EF 5.x DbContext Generator pour les sites web C#) sont utilisés dans les projets de site web créés via Fichier -> Nouveau -> Site web.... Il s’agit de différentes applications web, créées via Fichier -> Nouveau -> Projet..., qui utilisent les modèles standard. Nous fournissons des modèles distincts, car le système de modèle d’élément dans Visual Studio le demande.

Utilisation d’un modèle

Pour commencer à utiliser un modèle de génération de code, cliquez avec le bouton droit sur un emplacement vide dans l’aire de conception dans EF Designer et sélectionnez Ajouter un élément de génération de code....

Add Code Gen Item

Si vous avez déjà installé le modèle à utiliser (ou qu’il a été inclus dans Visual Studio), il est disponible sous la section Code ou Données dans le menu à gauche.

Installed Template

Si vous n’avez pas installé le modèle, sélectionnez En ligne dans le menu à gauche et recherchez le modèle souhaité.

Search Template 

Si vous utilisez Visual Studio 2012, les nouveaux fichiers .tt sont imbriqués sous le fichier .edmx.*

Remarque

Pour les modèles créés dans Visual Studio 2012, vous devez supprimer les modèles utilisés pour la génération de code par défaut, sinon vous obtenez des classes et un contexte en double. Les fichiers par défaut sont <nom du modèle>.tt et <nom du modèle>.context.tt

VS2012 Templates

Si vous utilisez Visual Studio 2010, les fichiers tt sont ajoutés directement à votre projet.  

VS2010 Templates