¿Te gustaría aprender Frameworks .NET Empresariales?
Tenemos los cursos que necesitas.¡Haz clic aquí!

 

¿Que es Entity Framework?

Es el conjunto de herramientas y apis proporcionadas por Microsoft para el acceso a datos a través de un modelo basado en entidades, abstrayendo al programador de la Base de datos. En pocas palabras, es el ORM de Microsoft para .NET.

Configuración del acceso a datos con Entity Framework

Lo primero como siempre creamos una nuevo proyecto, ya sea web, móvil, o un simple programa de consola para poder empezar. Una vez creado, agregamos una biblioteca de clases donde colocar nuestra capa de acceso a datos. Como veis, esto es exactamente igual que si no usáramos EF.

Ahora vamos a añadir nuestro contexto de conexión, para ello, creamos un nuevo archivo dentro de la capa de acceso a datos de tipo .edmx

Después de asignarle un nombre, nos saldrá una ventana donde nos dará a elegir si usamos como modelo una Base de datos ya existente (Database First) o en cambio creamos un modelo de cero (Model First). En Entiy Framework 4.1 surgió una nueva forma de trabajar Code First, que nos permite codificar primero el modelo. En este ejemplo para simplificar las cosas vamos a usar un BD existente:

Tras esto, establecemos una conexión con la BD de datos, elegimos con la que vamos a trabajar, en nuestro caso usaremos la BD de ejemplo del SQL Server 2008 R2 «AdventureWorks»

La cadena de conexión se creará automáticamente, solo tendremos que establecer un nombre y si se guardará la contraseña en el archivo de configuración o si la pasamos por código.

Finalmente, deberemos elegir qué tablas, vistas, procedimientos… de la base de datos vamos a utilizar para este contexto de conexión. Para este ejemplo voy a seleccionar solamente 4 tablas:

Con esto tendremos creadas nuestras entidades y relaciones. Ya tenemos todo preparado para usarse.

Si vemos las propiedades de una de las entidades, podemos ver como Entity Framework ha asociado cada uno de los campos de las tablas de las bases de datos, a un atributo de las entidades generadas.

Como dato curioso, podemos ver la singularización del paso de tabla a entidad, donde la tabla «people» se ha transformado en la entidad person. Esto funcionara bastante bien en ingles, pero si denominamos a nuestras tablas con nombre en castellano, como mucho lograremos que quite la ultima s.

Uso de Entity Framework

Ahora que tenemos creado el acceso a datos, deberemos incluir la referencia en el proyecto donde vamos a usar estos datos. Por simplificar, voy a hacerlo directamente desde un pequeño programa de consola.

Importante, crear un archivo de configuración y añadir la cadena de conexión ya que entity framework la tomará de aquí en vez del proyecto donde se creo.

Una vez configurado, podemos hacer uso de él de una manera bastante sencilla. Para ello creamos un contexto de conexión, y si queremos podemos sacar directamente un listado de los usuarios que cumplan una condición:

  ContextoEntidades con = new ContextoEntidades();

  List<Person> lista_personas = con.People.Where(c=>c.cond==true).ToList();

Con esta pequeña sentencia habremos seleccionado y transformado en objetos un conjunto de datos de la base de datos.

Como conclusión, podemos observar con este último ejemplo, que hemos accedido a la BD sin necesidad de usar sql, ni realizar transformaciones posteriores para encapsular los registros en objetos. Con esto, las posibilidades son infinitas, ya que al abstraer al programador de la base de datos, podemos estar seguros de trabajar con una tecnología que aunque haya cambios de base de datos, va a seguir funcionando. Además de la rapidez a la hora de codificar, eliminando de las tareas a realizar el CRUD de las entidades.

Eso si, dedícale tiempo para entender como funciona, sino puedes puedes llegar a ser contraproducente, ejemplo: Lazy Load

Te esperamos en la segunda parte del artículo en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.

¿Te gustaría aprender Frameworks .NET Empresariales?
Tenemos los cursos que necesitas.¡Haz clic aquí!
About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax