LINQ to Entities y Visual Basic 2008 – n-capas – Parte 3
Introducción
En las entradas anteriores que he tratado sobre LINQ, hemos visto inicialmente (Parte 1 y Parte 2) un ejemplo de EF (Entity Framework o ADO.NET Entity Framework) y posteriormente un caso especial que ocurría en Visual Basic 2008 pero no en C# 3.0.
En esta ocasión, vamos a acercarnos a la programación en n-capas. No es que vayamos a ver un ejemplo completo de n-capas ni tampoco que vayamos a entrar en las n-capas de lleno, pero sí vamos a hacer una aproximación hacia las n-capas utilizando EF para que sirva de modelo inicial de aquellos aspectos típicos con los que nos podemos encontrar al principio.
Acercándonos a las necesidades
Cuando trabajamos con EF, lo que solemos hacer es iniciar un proyecto (del tipo que sea) y agregar un elemento de tipo EF (ADO.NET Entity Data Model) para crear el modelo de entidades y trabajar con él.
El resultado, suponiendo que hemos elegido como plantilla de proyecto un WinForm, es un ejecutable con el modelo de entidades dentro de él y con su fichero de configuración (App.Config).
Preparando ADO.NET Entity Data Model
Cuando agregamos al proyecto un elemento de tipo ADO.NET Entity Data Model, Visual Studio 2008 lanza un asistente.
La primera pantalla del asistente nos preguntará acerca del modelo de contenido que queremos elegir.
En nuestro caso elegiré generarlo desde una base de datos.
A continuación, pulsaremos el botón Next para continuar con el asistente.
En este punto, aparecerá una ventana con la información de la conexión que queremos utilizar (lógicamente, crearemos una nueva conexión en el caso de que no tengamos ninguna preparada previamente).
En esta ventana, indicaremos la cadena de conexión y agregaremos esa cadena de conexión al archivo App.Config de nuestra aplicación WinForm seleccionando la opción para tal acción. El nombre de esa conexión a la entidad es en mi caso Futbol2006Entities.
Si observamos con detenimiento esta pantalla, veremos que en la cadena de conexión aparecen varios ficheros que tienen relación con la propiedad metadata (metadatos).
Esos tres ficheros de extensión csdl, ssdl y msl, tiene relación directa con los metadatos y serán objeto de una próxima parada.
Una vez que hemos elegido la conexión y hemos establecido sus parámetros, pulsaremos el botón Next para continuar con nuestro asistente.
La ventana que aparece la conocéis muy bien a estas alturas. Se trata de una ventana dentro de la cual podremos elegir los elementos que queremos agregar al modelo.
Para finalizar pulsaremos el botón Finish.
Lo que tiene por “fuera” un elemento ADO.NET Entity Data Model
Una vez agregado nuestro modelo de entidades, podemos observar varias cosas a tener en cuenta.
Por un lado, hay una ventana en Visual Studio 2008, que tiene el nombre de Model Browser.
En esta ventana, podemos consultar la información relativa al modelo de entidades que hemos agregado al proyecto.
Podremos de esta manera acceder a los tipos de entidades agregados, sus asociaciones, las tablas y claves del modelo de almacén de datos, etc.
También podemos acceder a la ventana Propiedades para cada elemento de esta ventana, con el fin de personalizar el modelo si es esa nuestra intención.
En otro orden de cosas, en el diseñador de entidades veremos el modelo de entidades agregado, tal y como hemos visto en ejemplos anteriores.
Y adicionalmente, podremos acceder también de acuerdo al modelo, a los detalles de mapeo de las entidades a través de una ventana que aparecerá en Visual Studio 2008 con el nombre de Mapping Details.
Hasta aquí, hemos podido ver los aspectos generales de cualquier aplicación estándar que utilice LINQ y en su caso EF. Sin embargo, aún no hemos visto lo que tiene «por dentro» EF, y eso es lo que empezaremos a ver en la próxima entrada que será dentro de muy muy muy poco tiempo.
4 Responsesso far
Introducción En el anterior artículo , veíamos como iniciarnos en la filosofía de n-capas utilizando
Me parece interesante Jorge pero esto tambien se da a nivel de C#, sabes estoy actualizandome y queria una guia en la programación n-capas si puedes ayudarme te lo agradeceria suerte y continua con estos Blog
gracias. Roberto
hola sabes tengo un problemita….tengo que programar un boton en visual 2008 en programacion de tres capas mis capaz son aaceso a datos, frontera y la ultima de capa de negocios y pues necesito agegar un boton dentro d mi formulario donde agrego a las personas en la base de datos necesito programar ese botn me ayudarias?
Jorge, quiero preguntarte que puede estar sucediendo que cuando genero el modelo utilizando el asistente no se me generan los archivos .csdl, .ssdl y .msl
Si puedes ayudarme te lo agradezco
Eymar Ospina (Medellin Colombia)