Entity Framework ha evolucionado mucho desde su lanzamiento en 2008, por que vamos a ver brevemente su historia.
Cada versión ha introducido mejoras, sobre todo en cuando a optimización, rendimiento, y compatibildiad con bases de datos.
Para hacer más “lioso” el tema, además, Entity Framework tiene dos versiones principales: EF6 y EF Core.
- Entity Framework 6: Es la versión clásica de Entity Framework, diseñada para .NET Framework.
- Entity Framework Core: Es la versión moderna y ligera de Entity Framework, diseñada para .NET 5+ (o superior).
Si en algún momento has usado Entity Framework (sin Core), no tienen nada que ver.
Comparten el nombre y tienen similitudes en la forma de trabajo, pero EF Core es mucho más moderno y rápido.
Comparación EF y EF Core
Empezamos viendo la comparación entre EF y EF Core.
Característica | Entity Framework | Entity Framework Core |
---|---|---|
Compatibilidad de plataforma | 🟠Solo Windows | 🟢Multiplataforma |
.NET | .NET Framework | .NET 5+ |
Rendimiento | 🔴Menos optimizado | 🟢Mucho mejor |
Migraciones | 🟠Sí, pero menos flexibles | 🟢Si |
Bases de datos soportadas | 🟠SQL Server | 🟢Múltiples bases de datos |
Entity Framework es la versión antigüa. La versión 6 es la última versión (anzada en 2013) y se ha mantenido como la opción principal para aplicaciones .NET Framework.
EF6 es compatible solo con .NET Framework y no funciona en .NET Core o .NET 5/6/7+.
Es un producto maduro y estabilidad. EF6 ha sido ampliamente probada y utilizada en proyectos empresariales.
Soporte a largo plazo: Aunque EF6 ya no recibe nuevas características, sigue recibiendo actualizaciones de seguridad y correcciones de errores.
Entity Framework Core es la versión moderna. Fue lanzada en 2016 junto con .NET Core y es la opción recomendada para aplicaciones modernas.
Una reescritura completa de Entity Framework, diseñada para ser más ligera, modular y compatible con las nuevas versiones de .NET.
EF Core es compatible con .NET Core, .NET 5+ y .NET Framework (aunque con algunas limitaciones en este último).
- Compatibilidad multiplataforma: EF Core funciona en Windows, Linux y macOS.
- Mutlibase de datos, incluso para para bases de datos no relacionales
- EF Core está diseñado para ser más ligero y modular, lo que permite incluir solo las funcionalidades necesarias.
- Nuevas características: EF Core introduce funcionalidades modernas Consultas globales (Global Query Filters), Tablas temporales (Temporal Tables),
- Soporte mejorado para migraciones
En este curso nos centraremos en .NET Entity Framework Core (incluso cuando no ponga explícitamente el Core)