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.

¿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.
- string city = “Motril”;
- using (EntityConnection cn =
- new EntityConnection(“Name=España”))
- {
- cn.Open();
- EntityCommand cmd = cn.CreateCommand();
- cmd.CommandText =
- “SELECT VALUE c FROM Esapaña.Ciudades “ +
- “AS c WHERE c.ciudad = @ciudad”;
- cmd.Parameters.AddWithValue(“ciudad”, ciudad);
- DbDataReader rdr = cmd.ExecuteReader(
- CommandBehavior.SequentialAccess);
- while (rdr.Read())
- Console.WriteLine(rdr[“Ciudad”].ToString());
- rdr.Close();
- }
- <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:
No hay comentarios:
Publicar un comentario