Entity Framework
El marco de la entidad es un marco de mapeo relacional de objetos (ORM) que ofrece un mecanismo automatizado a
los desarrolladores para almacenar y acceder a los datos en la base de datos. Este tutorial cubre las
características de Entity Framework utilizando el enfoque Code First. También explica las nuevas características
introducidas en Entity Framework 6.
¿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 mapeador relacional de objetos (ORM),
que es un tipo de herramienta que simplifica el mapeo entre objetos en su software a las tablas y columnas de
una base de datos relacional.
Entity Framework (EF) es un marco ORM de código abierto para [Link] 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 materializar automáticamente esos resultados 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 usted.
¿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á consultando, puede expresar sus consultas en los objetos de su dominio mediante LINQ para
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 asignación más granular para que pueda personalizar las asignaciones, por
ejemplo, asignando la entidad única a varias tablas de bases de datos o incluso varias entidades a una sola
tabla.
Entity Framework es la tecnología de acceso a datos recomendada por Microsoft para nuevas
aplicaciones.
[Link] parece referirse directamente a la tecnología para conjuntos de datos y tablas de datos.
Entity Framework es donde se realiza toda la inversión de avance, lo cual ha sido el caso durante
varios años.
Microsoft recomienda que use Entity Framework sobre [Link] o LINQ to SQL para todo desarrollo nuevo.
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 su dominio empresarial. ¿Qué es lo que quiere que haga su
aplicación sin estar limitada 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 en su
aplicación, no un modelo de la base de datos que usa para conservar los datos de su aplicación.
Su modelo conceptual puede alinearse 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.
Simplemente puede 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.
Características
Las siguientes son las características básicas de Entity Framework. Esta lista se crea en función de las
características más destacadas 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 borrar comandos de generación.
Trabaja con un modelo visual o con tus propias clases.
Entity Framework ha almacenado el soporte de procedimientos.