Plantillas de generación de código del diseñador

Cuando se crea un modelo con Entity Framework Designer, las clases y el contexto derivado se generan automáticamente. Además de la generación de código predeterminada, también se proporcionan una serie de plantillas que pueden usarse para personalizar el código que se genera. Estas plantillas se proporcionan como plantillas de texto T4, lo que permite personalizarlas en caso necesario.

El código que se genera de forma predeterminada depende de la versión de Visual Studio en que se cree el modelo:

  • Los modelos creados en Visual Studio 2012 y 2013 generan clases de entidad POCO simples y un contexto que se deriva del elemento DbContext simplificado.
  • Los modelos creados en Visual Studio 2010 generan clases de entidad que se derivan de EntityObject y un contexto que se deriva de ObjectContext.

Nota:

Se recomienda cambiar a la plantilla Generador de DbContext una vez agregado el modelo.

En esta página se habla de las plantillas disponibles y luego se proporcionan instrucciones para agregar una plantilla al modelo.

Plantillas disponibles

El equipo de Entity Framework proporciona las siguientes plantillas:

Generador de DbContext

Esta plantilla genera clases de entidad POCO simples y un contexto que se deriva de DbContext mediante EF6. Es la plantilla recomendada, a menos que tenga motivos para usar una de las otras plantillas que se indican a continuación. También es la plantilla de generación de código que se obtiene de forma predeterminada cuando se usan versiones recientes de Visual Studio (Visual Studio 2013 y versiones posteriores): cuando se crea un nuevo modelo, se usa esta plantilla de forma predeterminada y los archivos T4 (.tt) se anidan en el archivo .edmx.

Versiones anteriores de Visual Studio

  • Visual Studio 2012: para obtener las plantillas EF 6.x DbContextGenerator, tiene que instalar la versión más reciente de Entity Framework Tools para Visual Studio: vea la página Get Entity Framework (Obtener Entity Framework) para obtener más información.
  • Visual Studio 2010: las plantillas EF 6.x DbContextGenerator no están disponibles para Visual Studio 2010.

Generador de DbContext para EF 5.x

Si usa una versión anterior del paquete NuGet de EntityFramework (uno con una versión principal de 5), tiene que usar la plantilla Generador de DbContext para EF 5.x.

Si usa Visual Studio 2013 o 2012, esta plantilla ya está instalada.

Si usa Visual Studio 2010, tiene que seleccionar la pestaña Online al agregar la plantilla para descargarla desde la Galería de Visual Studio. También puede instalar la plantilla directamente desde la Galería de Visual Studio previamente. Dado que las plantillas están incluidas en las versiones posteriores de Visual Studio, las versiones de la galería solo se pueden instalar en Visual Studio 2010.

Generador de DbContext para EF 4.x

Si usa una versión anterior del paquete NuGet de EntityFramework (uno con una versión principal de 4), tiene que usar la plantilla Generador de DbContext para EF 4.x. La encontrará en la pestaña Online al agregar la plantilla o puede instalarla directamente desde la Galería de Visual Studio previamente.

Generador de EntityObject

Esta plantilla genera clases de entidad que se derivan de EntityObject y un contexto que se deriva de ObjectContext.

Nota:

Considere la posibilidad de usar Generador de DbContext

Generador de DbContext es ahora la plantilla recomendada para las nuevas aplicaciones. Generador de DbContext aprovecha la API de DbContext, que es más sencilla. Generador de EntityObject sigue estando disponible para la compatibilidad con las aplicaciones existentes.

Visual Studio 2010, 2012 y 2013

Tiene que seleccionar la pestaña Online al agregar la plantilla para descargarla desde la Galería de Visual Studio. También puede instalar la plantilla directamente desde la Galería de Visual Studio previamente.

Generador de EntityObject para EF 5.x

Si usa Visual Studio 2012 o 2013, tiene que seleccionar la pestaña Online al agregar la plantilla para descargarla desde la Galería de Visual Studio. También puede instalar la plantilla directamente desde la Galería de Visual Studio previamente. Como las plantillas están incluidas en Visual Studio 2010, las versiones de la galería solo se pueden instalar en Visual Studio 2012 y 2013.

Si solo quiere la generación de código de ObjectContext y no necesita editar la plantilla, puede revertir a la generación de código de EntityObject.

Si usa Visual Studio 2010, esta plantilla ya está instalada. Si crea un nuevo modelo en Visual Studio 2010, esta plantilla se usa de forma predeterminada, pero los archivos .tt no se incluyen en el proyecto. Si quiere personalizar la plantilla, tiene que agregarla al proyecto.

Generador de entidades de autoseguimiento (STE)

Esta plantilla genera clases de entidad de autoseguimiento y un contexto que se deriva de ObjectContext. En una aplicación de EF, un contexto es el responsable de realizar el seguimiento de los cambios en las entidades. Pero en los escenarios de n niveles, es posible que el contexto no esté disponible en el nivel que modifica las entidades. Las entidades de autoseguimiento ayudan a realizar el seguimiento de los cambios en cualquier nivel. Para obtener más información, vea Entidades de autoseguimiento.

Nota:

La plantilla STE no se recomienda

Ya no se recomienda usar la plantilla STE en las aplicaciones nuevas, aunque sigue estando disponible para la compatibilidad con las aplicaciones existentes. Visite el artículo sobre entidades desconectadas para ver otras opciones recomendadas para escenarios de n niveles.

Nota:

No hay ninguna versión para EF 6.x de la plantilla STE.

Nota:

No hay ninguna versión para Visual Studio 2013 de la plantilla STE.

Visual Studio 2012

Si usa Visual Studio 2012, tiene que seleccionar la pestaña Online al agregar la plantilla para descargarla desde la Galería de Visual Studio. También puede instalar la plantilla directamente desde la Galería de Visual Studio previamente. Dado que las plantillas están incluidas en Visual Studio 2010, las versiones de la galería solo se pueden instalar en Visual Studio 2012.

Visual Studio 2010**

Si usa Visual Studio 2010, esta plantilla ya está instalada.

Generador de entidades POCO

Esta plantilla genera clases de entidad POCO y un contexto que se deriva de ObjectContext

Nota:

Considere la posibilidad de usar Generador de DbContext

Generador de DbContext es ahora la plantilla recomendada para generar clases POCO en nuevas aplicaciones. Generador de DbContext aprovecha la nueva API de DbContext y puede generar clases POCO más sencillas. Generador de entidades POCO sigue estando disponible para la compatibilidad con las aplicaciones existentes.

Nota:

No hay ninguna versión para EF 5.x o EF 6.x de la plantilla STE.

Nota:

No hay ninguna versión para Visual Studio 2013 de la plantilla POCO.

Visual Studio 2012 y Visual Studio 2010

Tiene que seleccionar la pestaña Online al agregar la plantilla para descargarla desde la Galería de Visual Studio. También puede instalar la plantilla directamente desde la Galería de Visual Studio previamente.

Qué son las plantillas "Sitios web"

Las plantillas "Web Sites" (por ejemplo, EF 5.x DbContext Generator para sitios web de C#) están diseñadas para su uso en proyectos de sitio web creados mediante Archivo -> Nuevo -> Sitio web.... Estos proyectos son diferentes de las aplicaciones web, creadas mediante Archivo -> Nuevo -> Proyecto..., las cuales usan las plantillas estándar. Se proporcionan plantillas independientes porque así lo exige el sistema de plantilla de elemento de Visual Studio.

Uso de una plantilla

Para empezar a usar una plantilla de generación de código, haga clic con el botón derecho en un punto vacío de la superficie de diseño de EF Designer y seleccione Agregar elemento de generación de código...

Add Code Gen Item

Si ya ha instalado la plantilla que quiere usar (o estaba incluida en Visual Studio), estará disponible en la sección Código o Datos del menú izquierdo.

Installed Template

Si aún no tiene instalada la plantilla, seleccione Online en el menú izquierdo y busque la plantilla que quiere.

Search Template 

Si usa Visual Studio 2012, los nuevos archivos .tt aparecen anidados en el archivo .edmx.*

Nota:

En el caso de los modelos creados en Visual Studio 2012, tiene que eliminar las plantillas usadas para la generación de código predeterminada; si no lo hace, se generarán clases y contexto duplicados. Los archivos predeterminados son <nombreDelModelo>.tt y <nombreDelModelo>.context.tt

VS2012 Templates

Si usa Visual Studio 2010, los archivos tt se agregan directamente al proyecto.  

VS2010 Templates