Introducción a Entity Framework

Hola, Ya hacé casi seis mese que prometí escribir entradas de Entity Framework, por cuestiones de tiempo y trabajo no había podido, pero con esta empiezo.

En este articulo vamos a dar un vistazo sobre la arquitectura de despliegue de EF

Entity Framework es una ORM de Microsoft que permite superponer varias capas de abstracción sobre un almacén de datos de  cualquier [o casi todos] los motores de Base de datos actuales, estas capas de abstracción nos permiten a los desarrolladores poder trabajar sobre un modelo conceptual de una base de datos relacional. Esta abstracción nos permite a los desarrolladores poder trabajar sobre un entorno de desarrollo mas controlado, y unificado, en el sentido que ahora nuestras consultas podrán ser compiladas!!… es decir gracias a Linq podremos escribir nuestras consultas en un lenguaje .NET y saber si generan algún tipo de error en tiempo de  compilación, previniendo de esta manera muchas de las excepciones que teníamos a la hora de escribir consultas en T-Sql en Strings de .NET. Ventaja adicional de manejar Linq es que es estándar y unificado, es decir…. ya no tenemos que aprendernos sentencias raras de bases para realizar consultas.

-Arquitectura de Entity framework

Ya se ha dicho que Entity Framework superpone varias capas de abstracción sobre un almacén de datos, pero… ¿Cuales son esas capas?… bueno, ya hace unos meses hice una conferencia en el Expert Day 2011 sobre el tema y creo que esta imagen es la apropiada para explicarlo:

Como se puede apreciar en la imagen anterior se tiene en la parte inferior esta nuestra base de datos y sobre esta se encuentra la capa de proveedores de EF, en esta capa se encuentra el proveedor especifico para el motor de Base de datos en el que tenemos nuestra base de datos, sobre esta capa encontramos el Entity Data Model, este sera nuestro modelo conceptual y se divide en otras subcapas que presento a continuación en otra diapositiva de aquella conferencia:

Siguendo con las capas de la arquitectura de EF nos encontramos con Entity Client, este es nuestro proveedor especifico para consumir modelos conceptuales de Entity Framework. Entity SQL es el lenguaje de consultas de Entity Framework. Object Services proporciona la materialización de nuestras consultas en entidades del dominio.

– Componente de Entity Data Model

Como ya sabemos, cuando creamos un modelo de Entity Framework este se crea con la extensión .EDMX. Estos ficheros mdx se forman a partir de tres archivos XML  llamados SSDL, CSDL y MSL respectivamente.

SSDL, Storage Schema Definition Language, Este archivo describe la estructura física de la base de datos, incluyendo la definición de las tablas, las vistas, SP’s y relaciones.

CSDL, Conseptual Schema Definition Language, Se encarga de describir las entidades que deseamos tener en nuestro modelo conceptual (propiedades de navegación y asociaciones)

MSL, Mapping Schema Language, Define como se asocian las entidades del modelo conceptual con las entidades del modelo físico.

Ahora que tenemos un poco mas claro la arquitectura de despliegue de Entity Framework podemos empezar a trabajar con este y no hacer (como decía mi profesor de JAVA) programar como zombies.

Hasta el próximo post

 

Anuncios
Introducción a Entity Framework

4 comentarios en “Introducción a Entity Framework

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 )

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 )

Google+ photo

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

Conectando a %s