ADO.NET EF: …enredando y más ejemplos (I)

En el último post sobre ADO.NET EF & LINQ To SQL os hablaba de que ya había algún ejemplo concreto para la Beta1 del SP1 de Visual Studio 2008. En concreto os hablaba del ejemplo ADO.NET Entity Framework Query Samples que está disponible en MSDN Code Gallery. El caso es que el equipo de ADO.NET nos comenta en una de sus últimas entradas que se han actualizado todos los ejemplos que había para ADO.NET EF a la Beta1 del SP1 de Visual Studio 2008. Entre los ejemplos actualizados, y que tendré que probar, está la herramienta eSqlBlast de la que os hablé hace tiempo y que me pareció espectacular…pero analizando un poquillo ADO.NET EF Query Samples, he podido comprobar que tal y como se comenta en la página del proyecto es una interesante herramienta de aprendizaje y de pruebas de los distintos tipos de consultas que podemos realizar contra un modelo de ADO.NET EF.

ADO.NET Entity Framework Query Samples

Una vez descargado el proyecto, y tras retocar la cadena de conexión a la BD NorthwindEF del App.Config, no basta con compilar y ejecutar la aplicación para empezar a probarla. La aplicación contempla tres grandes secciones:

image

  • Entity SQL over ObjectQuery<T>, que nos permite definir consultas utilizando servicios del objeto. Esta alternativa permite devolver estructuras de información del EDM a través del método CreateQuery asociado al objeto ObjectContext (y que implementa una interfaz de tipo ObjectQuery<T>), que acepta una instrucción eSQL o LINQ To Entities con parámetros que define una consulta que recuperará una cierta lista de entidades.
  • LINQ To Entities, que nos permite definir consultas LINQ contra el Entity Data Model definido. LINQ To Entities que nos dota de toda la potencia y capacidades de LINQ sobre ADO.NET Entity Framework, así como funcionalidad de ORM (Object Relational Model), de manera que los desarrolladores pueden materializar sus entidades en tipos del CLR y programar de forma más sencilla contra el EDM y la base de datos.
  • Query Builder Method, que se asienta en la capacidad que da la clase ObjectQuery para definir de forma más flexible consutas de LINQ To Entities o Entity SQL contra el EDM. Otro punto muy importante de ObjectQuery es que implementa una serie de query builder methods que facilitan la construcción de consultas de forma equivalente a lo que podemos hacer con eSQL.
image image  

image

Para cada tipo de consulta no sólo veremos su implementación en C# y el resultado, sino también la traducción interna que hace de la sentencia LINQ y el comando T-SQL (por si había dudas, la consulta que he probado en el ejemplo ya tiene su complejidad) que se envía a la BD.

image image

Cómo veis, ADO.NET EF Query Samples es una aplicación realmente pensada para agilizar el aprendizaje de distintas formas de realizar consultas a EDM’s.

Enredando un poquillo con ADO.NET EF

Para finalizar el post, os voy a contar algunas cosas que he podido probar de ADO.NET EF en la versión Beta1 del SP1 de Visual Studio 2008. Algunas de estas cosas ya nos las anticipo Unai en este post:

  • Nuevo diseñador, más ligero y funcional:
ADO_NET_EF_SP1_2 ADO_NET_EF_SP1_3  

ADO_NET_EF_SP1_4

  • Los ficheros de metadatos ya no aparecen físicamente en el directorio bin, sino que forman parte del ensamblado:

ADO_NET_EF_SP1_5

Además de esto, otra aspecto interesante que he intentado probar pero que no hay manera (no se la razón) es como llamar a un procedimiento almacenado…como esto espero contarlo en el próximo post, sólo os diré que una de las formas es mapeando el SP definido en la capa storage a una función importada en la capa conceptual…y hasta aquí puedo leer 😉

ADO_NET_EF_SP1_6 ADO_NET_EF_SP1_7  

ADO_NET_EF_SP1_8Y hasta aquí llega lo que os quería contar hoy sobre ADO.NET EF. Espero que el post os haya resultado interesante.

2 pensamientos en “ADO.NET EF: …enredando y más ejemplos (I)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s