Mostrando las entradas con la etiqueta ADO.NET Entity Framework. Mostrar todas las entradas
Mostrando las entradas con la etiqueta ADO.NET Entity Framework. Mostrar todas las entradas

lunes, 31 de marzo de 2014

Entity Framework Code First

Code First, de Entity Framework, es el último enfoque agregado al Entity Framework, e introducido en la versión 4.1 del Framework de .NET (Los dos enfoques previos son Database First y Model First). 

Este enfoque, como su nombre lo dice, se basa en codificar primero, es decir crear clases POCO (Plain Old CLR Objects), utilizando el lenguaje deseado, VB.NET, C#, etc. de las diferentes entidades, y crear relaciones entre las mismas, luego se crea automáticamente la base de datos. Esta es la principal utilidad del EF Code First, aunque también puede utilizarse con Bases de Datos existentes, lo cual nos da un mayor control sobre el código generado, ya que nada será realizado por el asistente. 

La ventaja principal que posee el enfoque "Code First", es que ya no debemos preocuparnos mas por Transact SQL, ni por la base de datos en sí, ya que la misma será la manera en que se persisten los objetos creados. En síntesis, estaremos programando solamente con C# o VB.NET y LINQ.



Para abordar este enfoque, se debe comenzar definiendo nuestras entidades, lo cual puede realizarse como objetos POCO.




Luego de la definición de todas las entidades necesarias, se debe proceder a crear la clase de contexto para interactuar con la base de datos.





Tratándose de una aplicación web, en nuestro archivo web.config debe determinarse la cadena conexión a la base de datos, dentro de la correspondiente sección <connectionStrings>.




Posteriormente a esta configuración inicial de nuestro modelo, y sin necesidad de crear siquiera nuestra base de datos en el servidor definido en el web.config, podemos utilizar el modelo, para crear un nuevo empleado, y al llamar al método SaveChanges() de nuestro contexto se procederá a crear la base de datos, la tabla correspondiente en la base de datos y se insertará un registro en la misma. 



Posteriormente podemos conectarnos al servidor de nuestra base de datos, y verificar que todo ocurrió tal como fue codificado con nuestro EF Code First.

Más adelante entraremos más en detalle en la definición de las clases POCO, para lograr que se realicen las validaciones correspondientes al momento de registrar datos en las entidades y por consecuencia en la base de datos.

viernes, 21 de marzo de 2014

Aplicación ASP.NET MVC y ADO.NET Entity Framework


En esta entrega, realizaremos una primera aproximación al concepto de Entity Framework, para la creación de un modelo que nos permite efectuar tareas de ABMC: Altas, Bajas, Modificaciones y Consultas, o tal se conoce en idioma inglés operaciones CRUD.

El Entity Frameword de ADO.NET (EF) permite crear la capa de acceso a datos de una aplicación, abstrayendo los datos desde la base de datos y exponiendo un modelo mas cercano a los requerimientos de negocio de la aplicación. En el Framework 4.0 de NET, el EF ha sido considerablemente mejorado.

EF implementa el patrón ORM (Mapeo Objeto Relación), mediante el cual los objetos de la base de datos, se mapean con entidades del modelo conceptual de objetos.

Supondremos, que ya tenemos creada nuestra aplicación Web MVC, tal como vimos en entregas previas. 

Como primer paso, debemos crear un modelo de datos, que consistirá en una entidad "Empleado". Este modelo se encargará de realizar la comunicación con la base de datos para la gestión de los mismos.
Para esto, sobre la carpeta Models de nuestro proyecto, realizamos click con el botón derecho, y seleccionamos "Agregar Nuevo Elemento..."
Dentro del cuadro de dialogo, debemos seleccionar la opción Datos, y seleccionar "ADO.NET Entity Data Model".



Debemos determinar si en Entity Data Model , se creará a partir de una  base de datos, o crearemos un modelo vacío, para este caso, dado que ya tenemos la tabla en la base de datos, seleccionaremos la primera opción.



Seleccionamos la conexión a la base de datos, este paso producirá que se almacene dentro del Web.Config, los datos de la cadena de conexión, con el nombre que se determine.




Posteriormente seleccionamos los objetos que incluiremos en el modelo, dado que este será un ejemplo simple y básico, seleccionaremos la Tabla Empleados. Y le colocamos el nombre a nuestro modelo




Luego de este último paso, podremos observar que se creado nuestro Modelo Entidad Relación, dado que es un ejemplo extremadamente simple, vemos que se compone de una única clase.




Realizamos una generación del proyecto, para que se compilen las clases, y podamos relacionarla, con un Controlador, y las Vistas.

Posteriormente, sobre la carpeta "Controllers" Agregamos un nuevo Controlador, le colocamos el nombre, teniendo en cuenta de mantener el sufijo Controllers dentro de su nombre. También seleccionamos la clase del Modelo, y la clase del Contexto de Datos.



Al Agregar el controlador, con la plantilla seleccionado, se creará tanto el controlador, como las vistas que realizan las acciones de Crear / Editar / Borrar y Listar.

Si ejecutamos la aplicación y accedemos dentro de la URL inicial de la aplicación , a la carpeta Empleados, veremos el sistema en ejecución, el cual nos permitirá gestionar los datos de los empleados.