Entity Framework Core, es un asignador relacional de objetos (O/RM). Que ha sido examinado durante muchos años con .NET.
Entity Framework Core; funciona, extrayendo las bases de datos que el usuario necesita con SQL.
Entity Framework Core 6.0 es la siguiente versión después de EF Core 5.0 y fue lanzada en noviembre de 2021 al mismo tiempo que .NET 6.
Plataformas admitidas
- Entity Framework Core 6.0, necesita de .NET 6.
- Entity Framework Core 6.0 no tiene como destino ninguna versión de .NET Standard; y no se ejecuta en el .NET Framework.
- Entity Framework Core 6.0 se incluirá con .NET 6 como una versión de soporte técnico a largo plazo (LTS).
Diferencias entre Entity Framework y Entity Framework Core
La diferencia radica, en que .NET Core es una versión más ligera y con mayor rendimiento que la versión .NET Framework. Además, su consumo de recursos es menor, es de código abierto, multiplataforma y funciona con Windows, Linux o Mac.
Entity Framework Core es una nueva plataforma, no es una versión nueva o mejorada de la anterior Entity Framework.
Cambios para resaltar en Entity Framework Core 6.0
- Los dependientes opcionales anidados, que comparten una tabla y no cuentan con las propiedades necesarias, no se pueden guardar.
- Cambiar el propietario de una entidad, en propiedad, ahora inicia una excepción.
- Cosmos: Los tipos de entidad relacionados, se detectan como propiedad.
- SQLite: Las conexiones se pueden agrupar.
- Las relaciones de varios a varios, sin entidades de combinación asignadas, ahora están con scaffolding.
- Se ha limpiado la asignación entre los valores, DeleteBehavior y ON DELETE.
- La base de datos en memoria, permite, que las propiedades necesarias no contengan valores NULL.
- Se ha quitado la última cláusula ORDER BY al realizar la combinación en colecciones.
- DbSet ya no implementa, IAsyncEnumerab.
- El tipo de entidad devuelta de TVF, también se asigna a una tabla de manera predeterminada.
- La exclusividad del nombre de la restricción CHECK, ahora está validada.
- Se han agregado interfaces de metadatos de IReadOnly y se han quitado métodos de extensión.
- IExecutionStrategy es ahora un servicio singleton.
- SQL Server: Más errores se consideran transitorios.
- Cosmos: Se escapan más caracteres en valores ‘id’.
- Algunos servicios singleton, ahora tienen ámbito.
- Nueva API de almacenamiento en caché para extensiones que agregan o reemplazan servicios.
- Nuevo procedimiento de inicialización de modelos, en tiempo de diseño e instantáneas.
- DbFunctionBuilder.HasSchema(null), invalida, [DbFunction (Schema = “schema”)].
- Las navegaciones inicializadas previamente se reemplazan por valores de las consultas de bases de datos.
- Los valores de cadena de enumeración desconocidos de la base de datos, no se convierten al valor predeterminado de enumeración cuando se consulta.
- DbFunctionBuilder.HasTranslation ahora proporciona los argumentos de función como IReadOnlyList, en lugar de IReadOnlyCollection.
- La asignación de tabla predeterminada no se quita, cuando la entidad se asigna a una función con valores de tabla.
Cambios importantes
- Con la nueva versión de Entity Framework Core 6.0, se pueden crear tablas temporales apoyándose en las tablas temporales ya creadas, en los datos históricos y en la restauración de los datos.
- Modelos compilados: Con los modelos compilados, se genera una optimización del arranque de la aplicación.
- Agrupación de migraciones: Con Entity Framework Core se incorporó una nueva forma de actualizar los esquemas, a través, de agrupaciones de migraciones. Una agrupación de migración es un pequeño código que se ejecuta en la base de datos.
- Texto SQL server más flexible: Funciona añadiendo un elemento JSON a la base de datos.
Ventajas de Entity Framework Core 6.0
- Es ligero.
- Multiplataforma.
- Similitud con Entity Framework.
- Flexibilidad para establecer objetos.
- Fácil mantenimiento del código.
Desventajas de Entity Framework Core 6.0
- Dependencia de una base sólida de LINQ.
- Menor rendimiento de la consulta de módulos.
- No es posible concatenar el SQL.