Pasión por la tecnología…

Julio 6, 2009

VS 2010 & .NET Fx 4.0: Model First en ADO.NET Entity Framework 4.0!

Archivado en: .NET Framework 4.0, ADO.NET Entity Framework, Visual Studio 2010 — Juan Carlos González Martín @ 9:05 pm

Estos días estoy teniendo la oportunidad de “enredar” un poco con la nueva versión de ADO.NET Entity Framework (ADO.NET EF) que vendrá como parte de VS 2010 y .NET Fx 4.0. Entre las novedades de EF 4.0, tenemos la característica “Model First”, es decir, vamos a poder crear primero el Entity Data Model (EDM) y posteriormente generaremos la base de datos (BD) subyacente. Frente a esta característica, la versión 1.0 de EF sólo nos permitía construir un EDM a partir de una BD:

image image

La idea de este post es ver un pequeño paso a paso de como generar en primer lugar el EDM de EF y posteriormente la BD subyacente. Veremos además que la generación de esta BD se puede automatizar gracias a que se crea un workflow de WF 4.0 para ello. Empecemos.

Construyendo el modelo

Lo primero que vamos a hacer es construir el EDM de ADO.NET EF partiendo de la plantilla de modelo en blanco que tenemos disponible en Visual Studio:

  • Añadimos un nuevo elemento a nuestro proyecto de tipo ADO.NET Entity Data Model.
  • En el asistente de creación del modelo, elegimos Empty Model y pulsamos Finish.
  • Lógicamente, el modelo está vacío. Para ir añadiendo entidades al modelo, hacemos clic con el botón derecho del ratón sobre la superficie de diseño y pulsamos Add –> Entity …
image image image

  • En mi caso, voy a añadir dos entidades simples al modelo, que además estén relacionadas (mediante una relacuón 1:N). Básicamente, para cada entidad definiremos en primer lugar el nombre de la misma, su campo clave y el tipo correspondiente. A continuación le añadiremos las propiedades que estimemos oportunas. Para ello, seleccionamos la entidad, hacemos clic con el botón derecho del ratón y pulsamos Add –> Scalar Property. Utilizaremos la ventana de propiedades para su correcta configuración.-
    image image image

  • Para añadir una asociación entre las entidades, seleccionamos una de las entidad origen, hacemos clic con el botón derecho del ratón y pulsamos Add –> Association.
  • En la ventana que se abre, simplemente configuramos como queremos que sea la asociación y pulsamos Ok.
  • De esta forma, ya tendremos definida la asociación entre las dos entidades del modelo.
image image image

Generación de la BD a partir del modelo

Una vez que hemos construido el EDM de ADO.NET EF, ya estamos listos para generar la BD subyacente. Para ello:

  • Hacemos clic con el botón derecho del ratón sobre la superficie de diseño y pulsamos Generate Database Script from Model…
  • En la ventana que se abre, tendremos que especificar los parámetros de conexión pertinentes a través del botón New Connection…
  • Lógicamente, especificamos el nombre del servidor de BD y el nombre de la BD.
image image image

  • Tras especificar los parámetros de conexión, pulsamos Next.
  • En la siguiente pantalla veremos el conjunto de sentencias SQL que se construyen a partir del EDM para generar la BD subyacente.
  • Tras pulsar Finish, se generará el correspondiente archivo SQL en la solución de Visual Studio con todas las sentencias T-SQL necesarias.
image image image

  • Si nos vamos al SQL Server Management Studio, veremos que la BD se ha creado, pero está vacía por lo que tendremos que ejecutar el script anterior.
  • Otra característica interesante de esta nueva capacidad de ADO.NET EF 4.0 es que además de generar el script T-SQL con la definición de la BD, se crea un workflow de WF 4.0 pensado para automatizar este proceso de creación de la BD.
  • Este workflow aparece en la propiedad Generate Database Script Workflow del EDM. Si buscáis este workflow, lo encontraréis en la ruta siguiente: C:\Program Files\Microsoft Visual Studio 10.0\Extensions\Microsoft\EntityFrameworkTools\Workflows\DbGen.xaml. Como veis, se trata de n workflow secuencial sencillo que usa dos actividades personalizadas.
image image

Y hasta aquí llega lo que os quería contar sobre Model First en ADO.NET EF 4.0. Espero que el post os haya resultado interesante.

Aún no hay comentarios »

Aún no hay comentarios.

Canal RSS de los comentarios de la entrada. URI para TrackBack.

Deja un comentario

Blog de WordPress.com.