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

Lorsque vous créez un modèle à l’aide du Concepteur Entity Framework, vos classes et 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 certain nombre de modèles qui peuvent être utilisés pour personnaliser le code généré. Ces modèles sont fournis en tant que modèles de texte T4, ce qui vous permet de personnaliser les modèles si nécessaire.

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

  • Les modèles créés dans Visual Studio 2012 &2013 génèrent des classes d’entités POCO simples et un contexte dérivé de dbContext simplifié.
  • Les modèles créés dans Visual Studio 2010 génèrent des classes d’entité qui dérivent d’EntityObject et un contexte dérivé d’ObjectContext.

Note

Nous vous recommandons de passer au modèle Générateur DbContext une fois que vous avez ajouté votre modèle.

Cette page couvre les modèles disponibles, puis 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é POCO simples et un contexte dérivé de DbContext à l’aide d’EF6. Il s’agit du modèle recommandé, sauf si vous avez une raison d’utiliser l’un des autres modèles répertoriés ci-dessous. Il s’agit également du modèle de génération de code que vous obtenez par défaut si vous utilisez des versions récentes de Visual Studio (Visual Studio 2013 et versions ultérieures) : lorsque vous créez un modèle, ce modèle est utilisé par défaut et que les fichiers T4 (.tt) sont imbriqués sous votre fichier .edmx.

Versions antérieures de Visual Studio

  • Visual Studio 2012 : Pour obtenir les modèles EF 6.x DbContextGenerator , vous devez installer les derniers outils Entity Framework pour Visual Studio . Pour plus d’informations, consultez la page Obtenir Entity Framework .
  • 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 (une version majeure de 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 lors de l’ajout du modèle pour le télécharger à partir de visual Studio Gallery. Vous pouvez également installer le modèle directement à partir de la galerie Visual Studio à l’avance. Étant donné que les modèles sont inclus dans les versions ultérieures de Visual Studio, les versions de la galerie ne peuvent être installées que sur Visual Studio 2010.

DbContext Generator pour EF 4.x

Si vous utilisez une version antérieure du package NuGet EntityFramework (avec une version majeure de 4), vous devez utiliser le modèle EF 4.x DbContext Generator. Vous pouvez le trouver sous l’onglet En ligne lors de l’ajout du modèle, ou vous pouvez installer le modèle directement à partir de la galerie Visual Studio à l’avance.

EntityObject Generator

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

Note

Envisagez d’utiliser le générateur DbContext

Le générateur DbContext est désormais le modèle recommandé pour les nouvelles applications. Le générateur DbContext tire parti de l’API DbContext plus simple. EntityObject Generator continue d’être disponible pour prendre en charge les applications existantes.

Visual Studio 2010, 2012 &2013

Vous devez sélectionner l’onglet En ligne lors de l’ajout du modèle pour le télécharger à partir de Visual Studio Gallery. Vous pouvez également installer le modèle directement à partir de la galerie Visual Studio à l’avance.

EntityObject Generator pour EF 5.x

Si vous utilisez Visual Studio 2012 ou 2013, vous devez sélectionner l’onglet En ligne lors de l’ajout du modèle pour le télécharger à partir de Visual Studio Gallery. Vous pouvez également installer le modèle directement à partir de la galerie Visual Studio à l’avance. Étant donné que les modèles sont inclus dans Visual Studio 2010, les versions de la galerie ne peuvent être installées que sur Visual Studio 2012 &2013.

Si vous souhaitez simplement générer du 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, ce modèle est utilisé par défaut, mais les fichiers .tt ne sont pas inclus dans votre projet. Si vous souhaitez personnaliser le modèle, vous devez l’ajouter à votre projet.

Générateur d’entités Self-Tracking (STE)

Ce modèle génère des classes d'entité à suivi automatique et un contexte qui dérive d’ObjectContext. Dans une application EF, un contexte est responsable du suivi des modifications dans les entités. Toutefois, dans les scénarios de niveau N, le contexte peut ne pas être disponible sur le niveau qui modifie les entités. Les entités de suivi automatique vous aident à suivre les modifications dans n’importe quel niveau. Pour plus d’informations, consultez Entités auto-suivantes.

Note

Modèle STE non recommandé

Nous vous déconseillons d’utiliser le modèle STE dans les nouvelles applications. Il continue d’être disponible pour prendre en charge les applications existantes. Consultez l’article sur les entités déconnectées pour d’autres options que nous vous recommandons pour les scénarios de niveau N.

Note

Il n’existe aucune version EF 6.x du modèle STE.

Note

Il n’existe aucune version de Visual Studio 2013 du modèle STE.

Visual Studio 2012

Si vous utilisez Visual Studio 2012, vous devez sélectionner l’onglet En ligne lors de l’ajout du modèle pour le télécharger à partir de visual Studio Gallery. Vous pouvez également installer le modèle directement à partir de la galerie Visual Studio à l’avance. Étant donné que les modèles sont inclus dans Visual Studio 2010, les versions de la galerie ne peuvent être installées que sur Visual Studio 2012.

Visual Studio 2010**

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

Générateur d’entités POCO

Ce modèle génère des classes d’entité POCO et un contexte dérivé d’ObjectContext

Note

Envisagez d’utiliser le générateur DbContext

Le générateur DbContext est désormais le modèle recommandé pour générer des classes POCO dans de nouvelles applications. Le générateur DbContext tire parti de la nouvelle API DbContext et peut générer des classes POCO plus simples. Le générateur d’entités POCO continue d’être disponible pour prendre en charge les applications existantes.

Note

Il n’existe aucune version EF 5.x ou EF 6.x du modèle STE.

Note

Il n’existe aucune version de Visual Studio 2013 du modèle POCO.

Visual Studio 2012 & Visual Studio 2010

Vous devez sélectionner l’onglet En ligne lors de l’ajout du modèle pour le télécharger à partir de Visual Studio Gallery. Vous pouvez également installer le modèle directement à partir de la galerie Visual Studio à l’avance.

Qu’est-ce que les modèles « Sites Web »

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èles d’élément dans Visual Studio les requiert.

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 le Concepteur EF, puis sélectionnez Ajouter un élément de génération de code....

Ajouter un élément de génération de code

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

Modèle installé

Si le modèle n’est pas déjà installé, sélectionnez Online dans le menu de gauche et recherchez le modèle souhaité.

Modèle de recherche  

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

Note

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 aurez des classes et un contexte en double générés. Les fichiers par défaut sont <model name.tt> et <model name.context.tt>

Modèles VS2012

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

Modèles VS2010