martes, 4 de agosto de 2015

ENTITY FRAMEWORK

Entity Framework es un conjunto de tecnologías de ADO.NET que permiten el desarrollo de aplicaciones de software orientadas a datos. Los arquitectos y programadores de aplicaciones orientadas a datos se han enfrentado a la necesidad de lograr dos objetivos muy diferentes. Deben modelar las entidades, las relaciones y la lógica de los problemas empresariales que resuelven, y también deben trabajar con los motores de datos que se usan para almacenar y recuperar los datos. Los datos pueden abarcar varios sistemas de almacenamiento, cada uno con sus propios protocolos; incluso las aplicaciones que funcionan con un único sistema de almacenamiento deben equilibrar los requisitos del sistema de almacenamiento con respecto a los requisitos de escribir un código de aplicación eficaz y fácil de mantener.
Entity Framework permite a los desarrolladores trabajar con datos en forma de objetos y propiedades específicos del dominio, como clientes y direcciones de cliente, sin tener que preocuparse por las tablas y columnas de la base de datos subyacente donde se almacenan estos datos. Con Entity Framework, los desarrolladores pueden trabajar en un nivel mayor de abstracción cuando tratan con datos, y pueden crear y mantener aplicaciones orientadas a datos con menos código que en las aplicaciones tradicionales. Dado que Entity Framework es un componente de .NET Framework, las aplicaciones de Entity Framework se pueden ejecutar en cualquier equipo en el que esté instalado .NET Framework a partir de la versión 3.5 SP1.

Diagrama de la arquitectura

El diagrama siguiente muestra cómo se relacionan las diversas interfaces de programación de usuario accesibles en Entity Framework. Una flecha descendente indica una consulta en el origen de datos, y una flecha ascendente indica los datos devueltos. Servicios de objeto genera un árbol de comandos canónico que representa a LINQ to Entities o una operación de Entity SQL con el modelo conceptual. El proveedor de EntityClient transforma este árbol de comandos canónico, basado en el modelo EDM, en un nuevo árbol de comandos canónico que es una operación equivalente en el origen de datos.
Diagrama de la arquitectura de Entity Framework

¿Qué es ADO.NET Entity Framework?

Para definir al Entity Framework me voy a basar en una definición del modelo entidad-relacion. En el modelo entidad-relacion tal y como lo conocemos, tenemos que implementar un conjunto de clases que definen el modelo conceptual de la base de datos y tenemos que definir la capa de acceso a datos, de tal manera que sea esta la encargada de acceder a la base de datos y mapear los datos en las clases creadas para tal efecto.
Manteniendo esta definición en mente, definimos el Entity Framework como un modelo entidad-relación ejecutable. El Entity Framework nos permite trabajar con los objetos definidos a partir del modelo de datos sin tener que preocuparnos de la capa de acceso a datos ya que él se encarga automáticamente de su persistencia.

Formas de Acceder al modelo de datos.

Antes de enunciar las distintas formas de acceder al modelo de datos, tenemos que comentar que las tres hacen uso de un nuevo proveedor de datos definido en ADO.NET. Este proveedor esta definido de forma similar a los otros ya disponibles, del modo que tenemos una clase  EntityConection para definir el origen de datos y una clase  EntityCommand sobre el que definiremos la consulta a ejecutar.
  1. string city = “Motril”;
  2. using (EntityConnection cn =
  3.     new EntityConnection(“Name=España”))
  4. {
  5.     cn.Open();
  6.     EntityCommand cmd = cn.CreateCommand();
  7.     cmd.CommandText =
  8.          “SELECT VALUE c FROM Esapaña.Ciudades “ +
  9.          “AS c WHERE c.ciudad = @ciudad”;
  10.     cmd.Parameters.AddWithValue(“ciudad”, ciudad);
  11.     DbDataReader rdr = cmd.ExecuteReader(
  12.         CommandBehavior.SequentialAccess);
  13.     while (rdr.Read())
  14.         Console.WriteLine(rdr[“Ciudad”].ToString());
  15.     rdr.Close();
  16. }
  17. <p align="justify">
Si nos fijamos el resultado es un objeto DbDataReader. En esta consulta estamos operando sobre un Entity Data Model  (EDM) “España”, y una Entity (EntitySet) “Ciudades”.
A partir del nuevo proveedor de datos tenemos tres posibilidades para acceder a nuestro modelo de datos:
 
Entity Framework

No hay comentarios:

Publicar un comentario