Entity Framework: descripción general

¿Qué es Entity Framework?

Entity Framework se lanzó por primera vez en 2008, el medio principal de Microsoft para interactuar entre aplicaciones .NET y bases de datos relacionales. Entity Framework es un Object Relational Mapper (ORM), que es un tipo de herramienta que simplifica el mapeo entre los objetos de su software y las tablas y columnas de una base de datos relacional.

  • Entity Framework (EF) es un marco ORM de código abierto para ADO.NET que forma parte de .NET Framework.

  • Un ORM se encarga de crear conexiones de base de datos y ejecutar comandos, así como de tomar los resultados de las consultas y materializarlos automáticamente como objetos de su aplicación.

  • Un ORM también ayuda a realizar un seguimiento de los cambios en esos objetos y, cuando se le indique, también conservará esos cambios en la base de datos.

¿Por qué Entity Framework?

Entity Framework es un ORM y los ORM tienen como objetivo aumentar la productividad del desarrollador al reducir la tarea redundante de conservar los datos utilizados en las aplicaciones.

  • Entity Framework puede generar los comandos de base de datos necesarios para leer o escribir datos en la base de datos y ejecutarlos por usted.

  • Si está realizando consultas, puede expresar sus consultas contra los objetos de su dominio usando LINQ to entidades.

  • Entity Framework ejecutará la consulta relevante en la base de datos y luego materializará los resultados en instancias de los objetos de su dominio para que pueda trabajar dentro de su aplicación.

Hay otros ORM en el mercado como NHibernate y LLBLGen Pro. La mayoría de los ORM suelen asignar tipos de dominio directamente al esquema de la base de datos.

Entity Framework tiene una capa de mapeo más granular para que pueda personalizar mapeos, por ejemplo, mapeando la entidad única a múltiples tablas de base de datos o incluso múltiples entidades a una sola tabla.

  • Entity Framework es la tecnología de acceso a datos recomendada por Microsoft para nuevas aplicaciones.

  • ADO.NET parece referirse directamente a la tecnología para conjuntos de datos y tablas de datos.

  • Entity Framework es donde se están realizando todas las inversiones de avance, que ya ha sido el caso durante varios años.

  • Microsoft recomienda que utilice Entity Framework sobre ADO.NET o LINQ to SQL para todos los desarrollos nuevos.

Modelo conceptual

Para los desarrolladores que están acostumbrados al desarrollo centrado en bases de datos, el mayor cambio con Entity Framework es que les permite concentrarse en el dominio de su negocio. ¿Qué es lo que desea que haga su aplicación sin estar limitado por lo que puede hacer la base de datos?

  • Con Entity Framework, el punto focal se denomina modelo conceptual. Es un modelo de los objetos de su aplicación, no un modelo de la base de datos que utiliza para conservar los datos de su aplicación.

  • Su modelo conceptual puede coincidir con el esquema de su base de datos o puede ser bastante diferente.

  • Puede usar un Diseñador visual para definir su modelo conceptual, que luego puede generar las clases que finalmente usará en su aplicación.

  • Puede simplemente definir sus clases y usar una función de Entity Framework llamada Code First. Y luego Entity Framework comprenderá el modelo conceptual.

De cualquier manera, Entity Framework resuelve cómo pasar de su modelo conceptual a su base de datos. Por lo tanto, puede consultar los objetos de su modelo conceptual y trabajar directamente con ellos.

Caracteristicas

A continuación se muestran las características básicas de Entity Framework. Esta lista se crea en función de las características más notables y también de las preguntas frecuentes sobre Entity Framework.

  • Entity Framework es una herramienta de Microsoft.
  • Entity Framework se está desarrollando como un producto de código abierto.
  • Entity Framework ya no está vinculado ni depende del ciclo de lanzamiento de .NET.
  • Funciona con cualquier base de datos relacional con un proveedor de Entity Framework válido.
  • Generación de comandos SQL desde LINQ a Entidades.
  • Entity Framework creará consultas parametrizadas.
  • Realiza un seguimiento de los cambios en los objetos en memoria.
  • Permite insertar, actualizar y eliminar la generación de comandos.
  • Funciona con un modelo visual o con tus propias clases.
  • Entity Framework tiene soporte de procedimiento almacenado.