Cómo: Personalizar la generación de código de nivel de objeto (Entity Data Model Designer)

En este tema se describe cómo utilizar ADO.NET Entity Data Model Designer (Entity Designer) y las plantillas de texto para personalizar la generación de contexto del objeto y clases de entidad (código de nivel de objeto).

De forma predeterminada, Entity Designer utiliza la herramienta personalizada EntityModelCodeGenerator para generar código de nivel de objeto (para obtener más información, vea Información general sobre el código generado (Entity Data Model Designer)). Al agregar una plantilla de texto a un proyecto, Entity Designer puede usar la plantilla para generar código de nivel de objeto en lugar de usar la herramienta personalizada predeterminada.

Dd456821.note(es-es,VS.100).gifNota:
Puede usar las herramientas de la línea de comandos para generar código de nivel de objeto con una plantilla de texto.Para obtener más información, vea Herramientas de la línea de comando para plantillas de texto.

Visual Studio proporciona dos plantillas ADO.NET que generan el código de nivel de objeto de Entity Framework: Generador de EntityObject de ADO.NET y Generador de entidades de seguimiento propio ADO.NET. Generador de EntityObject de ADO.NET genera el mismo código que la herramienta personalizada EntityModelCodeGenerator. La plantilla Generador de entidades de seguimiento propio ADO.NET genera clases de entidad que contienen lógica de estado de seguimiento propio. Use las entidades de seguimiento propio cuando trabaje con aplicaciones de N niveles. Para obtener más información acerca de las plantillas ADO.NET, vea Plantilla Generador de EntityObject de ADO.NET and Plantilla Generador de entidades de seguimiento propio de ADO.NET.

El siguiente procedimiento supone lo siguiente:

  • Tiene un proyecto de Visual Basic o C# que tiene como destino .NET Framework 4 abierto en Visual Studio 2010.

  • Tiene un archivo .edmx abierto en Entity Designer.

  • Está familiarizado con la personalización de plantillas de texto. Para obtener información sobre plantillas de texto, vea Generar artefactos.

Para personalizar la generación de código de nivel de objeto

  1. Haga clic con el botón secundario en un área vacía de la superficie de Entity Designer, elija Agregar elemento de generación de código y seleccione una plantilla disponible. Si parece que no hay plantillas disponibles, seleccione Código en el recuadro Plantillas instaladas.

    El elemento de generación de código agrega uno o más archivos de plantilla de texto (.tt) al proyecto. Las plantillas de texto generan código de nivel de objeto. Los archivos generados se agregan bajo los archivos .tt. Si no modifica esta plantilla, el código generado será igual que el código generado por Entity Designer.

    Al agregar la plantilla de texto al proyecto, Visual Studio hace el siguiente:

    • Establece la propiedad Estrategia de generación de código del modelo conceptual en None. Esto desactiva la generación de código predeterminado.

    • Agrega un nuevo archivo de plantilla de texto al proyecto en el mismo directorio que el archivo .edmx.

    • Inserta la ruta de acceso del archivo .edmx relativa a la plantilla de texto en la plantilla de texto. Esto se hace para que la plantilla de texto procese el archivo .edmx correctamente.

    • Utiliza la plantilla de texto para generar código basado en el archivo .edmx. El código generado se escribe en un archivo <text_template_name>.cs o <text_template_name>.vb. El archivo se agrega como un archivo dependiente del archivo de plantilla en el Explorador de soluciones.

  2. Abra la plantilla de texto y modifíquela.

  3. Guarde el archivo de la plantilla de texto modificado.

    Cuando guarde el archivo de la plantilla de texto, se vuelve a generar el código de nivel de objeto según el archivo de la plantilla de texto modificado.

De forma predeterminada, la generación de código de nivel de objeto para un archivo .edmx se desencadena cada vez que se guarda el archivo .edmx. Los cambios realizados manualmente en los archivos de código <text_template_name>.cs o <text_template_name>.vb no se conservan. Si un archivo .edmx tiene más que un archivo de plantilla de texto asociado con él, al guardar el archivo .edmx, se vuelven a generar todos los archivos de código asociados. No obstante, se puede modificar este comportamiento. Si establece la propiedad Transformar plantillas de texto relacionadas al guardar del modelo conceptual en false, no se volverán a generar los archivos de código al guardar el archivo.

Cuando divida el modelo y los archivos .tt en proyectos independientes, deberá ejecutar manualmente la generación de código cada vez que modifique un archivo .edmx o un archivo .tt. Para ello, haga clic en el botón Transformar todas las plantillas en el Explorador de soluciones. En el tema Walkthrough: Serialize Self-Tracking Entities se muestra cómo dividir el modelo y los archivos .tt en proyectos independientes.

Vea también

Conceptos

Información general sobre el archivo .edmx (Entity Framework)

Otros recursos

Herramientas de ADO.NET Entity Data Model