miércoles, 1 de abril de 2015

Introducción a Entityframework



¿Qué es Entity Framework?
Primero que nada, aparte de saber un poquito sobre varios temas en el área de informática, también he sido desarrollador, y más sobre plataforma de .net, ya que no se puede negar que Microsoft tiene uno de los mejores IDE para el desarrollo de aplicaciones.

¿Qué es Entity Framework?  Era la pregunta que me hacía y buscaba en internet y muchas veces aunque  tengamos mucha experiencia en el desarrollo con uno o más lenguajes,  hay en ocasiones que nos dificulta entender nuevos conceptos; en lo personal a mí me pasa cuando tengo que entrar a un nuevo tema varias veces se me dificulta comprenderlo y algo a si me paso con el Entity Framework y por más que buscaba me costaba entenderlo.


Entity Framework y para no hablarlo muy técnico, es simplemente la última forma que Microsoft nos brinda para realizar las conexiones hacia fuentes de datos, no de la manera que estamos acostumbrados, con adaptadores, datasets y datatables como hemos aprendido, si no trabajar con los datos en  formas de objetos y propiedades sin tener que preocuparnos por tablas y columnas de la base datos, donde se almacenan estos datos.

En otras palabras si se desea trabajar con EF (Entity Framework), tenemos que quitarnos de la mente lo que son los datasets y data tables, aquí se trabaja con clases que son entidades de una base de datos, o entidades personalizadas para uso interno de la aplicación y es lo bonito de este tema, que trabajamos de una forma abstracta,  esta última palabra tiende a confundir a mucho y  simplemente nos quieren dar a entender que podemos manipular la información en el ambiente de la aplicación de la forma que mejor nos funcione y sin importar como se encuentre en la base de datos.

Si aún no está claro lo que he dicho y eres del mundo de los datasets y dataTables, y de Visual Basic,
Es simplemente que utilizando el conjunto de nueva tecnología de ADO.net accesaras a la información de las base datos, harás la consulta que necesites y el resultado en vez de volcarlo en un datatable, lo harás en objetos de listas que almacenan la información en base a un tipo de clase y si no me entiendes a un lo hare con el ejemplo siguiente:

Tengo la siguiente clase

               Public Class Cliente
             Public Property ID As Integer
             Public Property Nombre As String
       End Class

Esta clase sería una entidad que podría representar una tabla en una base de datos; Ahora yo deseo una lista que tiene a dos clientes:

        Dim Lista As New List(Of Cliente)
        Lista.Add(New Cliente With {.Id = 1, .Latitud = "Jose"})
        Lista.Add(New Cliente With {.Id = 2, .Latitud = "Maria"})

Como se observa instancio una objeto llamado Lista  y posteriormente le agrego dos registros cuyo tipo de datos deberá ser un objeto de tipo de clase cliente y el objeto contiene el id y nombre del cliente, y de esta forma tengo un listado.

Explico esto porque cuando usen le acceso a datos con EF la información se obtiene en un solo objeto del tipo de la clase entidad o en objetos de tipo lista.

Una vez planteado el ejemplo anterior, te diré que necesitas saber sobre el tema de Linq (Language-Integrated Query) lenguaje para realizar consultas en el ambiente de la aplicación, y que lo introdujo algunos años atrás Microsoft en lo personal me gusta mucho esta forma de consultas, ya que me ha horrado en muchas ocasiones escribir código.

También debes familiarizarte en utilizar clases u objetos de tipo List(of T) , o de las clases de las cuales se deriva esta.

Con este post mi deseo es ayudar un poco en entender lo que es EF en futuros post Ya are ejemplos de cómo comenzar  con EF.

Se me olvidaba hay dos términos que son Code First y EF Designer, son dos formas de manejar lo que son las entidades, la primera el concepto se trata que tu creas las clases a tus necesidad vía código y de ahí parte el diseño de base de datos o simplemente quieres hacerlo vía código.

Y el segundo utilizas la Herramienta de Diseño de modelado que puede generar las entidades partiendo de la estructura existente de una base de datos.

Cada una tiene sus ventajas y desventajas y en futuros post hablaremos de estos métodos.

No hay comentarios.:

Publicar un comentario