English version | Versión en español

Esta es la guía paso a paso para usar SFS for Visual Studio en su característica: ADO.NET Entity Framework to any layer.

Contenido

  1. Pre-requisitos
  2. Instalación
  3. Diseño de ADO.Net Entity Framework
  4. Uso de SFS for Microsoft Visual Studio  (Entity Framework to any layer)

Pre-Requisitos

  1. Microsoft Visual Studio 2008
  2. ADO.NET Entity Framework Beta 3
  3. T4 Editor (Opcional)

Instalación

  1. Descarga la última versión de SFS for Microsoft Visual Studio 
  2. Ejecuta el instalador y reinicia Micosoft Visual Studio 2008

Diseño de ADO.NET Entity Framework Model

  1. En Microsoft Visual Studio crea un nuevo proyecto de tipo Windows Application, con el nombre "MyWindowsApplication".
    Maximize
  2. Haz Click derecho sobre el elemento de proyecto en Solution Explorer y selecciona "Add / new Item" del menú contextual.
    image
  3. En Templates selecciona ADO.NET Entity Data Model y en Name escribe: "MyModel.edmx", haz click en Add.
    image 
    image
  4. En el wizard de Entity Data Model haz click en Next y selecciona una conexión a base de datos  con tablas para la prueba. En mi caso, yo uso la base de datos de AdventureWorks, tu puedes usar la que desees, haz click en Next.
    image
  5. Selecciona solo las tablas que deseas mapear a entidades, en mi caso, solo seleccionaré las correspondientes al namespace de "Person", y haz click en Finish.
    image 
    image 
    IMPORTANTE: Guarda todos los cambios

Uso de SFS for Microsoft Visual Studio

  1. Habilita SFS en la solución haciendo Click derecho  en el elemento de solución en Solution Explorer y selecciona "Enable SFS in solution" del menú contextual.
     image
    Ahora ya existe en esta solución el elemento de configuración de SFS, que te permitirá hacer uso de las demás funciones de SFS Add-in.
  2. Selecciona en Solution explorer el archivo .edmx que agregaste (MiModel.edmx) haciendo click derecho y selecciona "Rename entities" desde el menú contextual.
    image 
    Esta herramienta ayuda a especificar los nombres conceptuales que tendrá una entidad, ya que actualmente no resulta muy cómodo hacerlo en el diseñador de Entity Framework, además éste designer  tiene un bug (Entity Framework Beta 3) que al hacer una actualización de la base de datos, en realidad no actualiza, si no que agrega nuevamente las tablas y deja sin actualizar las que ya habían sido modificadas en sus nombres conceptuales como entidades (Nombre de la entidad, nombre del objeto Set, plural, singular). Esta herramienta permite mantener guardados esos cambios, y cuando sea necesario hacer una actualización desde la base de datos, solo tendremos que hacer click en "Rename entities" y ahí estarán esos cambios que se guardaron anteriormente.
    image 
    Al terminar haz Click en Ok.
  3. Cierra y abre nuevamente el documento de diseño (el archivo MyModel.edmx) para poder apreciar los cambios.
    image
  4. En"Solution explorer" haz "click derecho" sobre el archivo MyModel.edmx y selecciona "Create EntityFramework Model" del menú contextual.
    image
    En este momento ya existe en la solución el modelo del diagrama actualizado, y ya es posible generar código con una plantilla.
  5. Haz click derecho en el elemento de proyecto en Solution explorer y selecciona "Add / Add new item".
    image
  6. Del grupo de plantillas selecciona "SFS Text Transformation Template" y escribe el nombre en Name: "MyBusinessRules.tt" y haz click en Ok.
    image
  7. Copia y pega el siguiente código en la plantilla:
  8. Guarda los cambios en MyBusinessRules.tt, y observa como se ha actualizado el código generado en el archivo hijo: MyBusinessRules.cs.
    Existen otras maneras de gerenar el código: haciendo click derecho en el archivo MyBusinessRules.tt en Solution Explorer y seleccionando "Generate code from template" o bien "Run custom tool" desde el menú contextual.
    Observa el código generado, es el siguiente:
  9. Listo! Tu puedes crear más plantillas en el mismo proyecto o en otros proyectos de la solución y generar el código de manera automática basado en el tu modelo de entidades.
    image

¿Dudas? ¿Comentarios? ¿Sugerencias?

E-mail | Permalink | 0 Comentarios| Trackback