Gouverner, c’est prévoir. Il en est de même dans le développement. L’équipe du projet Entity Framework Core 6.0 (EF Core 6) vient de préciser l’agenda de mise à jour du mappeur relationnel objet conçu pour .NET Framework dont la prochaine version est programmée pour la fin 2021. Ils prévoient notamment d’améliorer les performances, d’ajouter le support des tables temporelles de SQL Server et des colonnes JSON.
D'après un avis publié le 18 janvier, les développeurs comptent livrer Entity Framework Core 6.0 en même temps que la version .NET 6 prévue en novembre. Ils espèrent tirer parti des modèles compilés dans Entity Framework Core 6.0 pour améliorer les performances de démarrage et lors de l’accès au modèle. Ils prévoient également d'optimiser l'infrastructure de performances et l'ajout de nouveaux tests.
En outre, le projet continuera à étudier la possibilité d'améliorer le fonctionnement d'Entity Framework Core grâce à des liens et à la compilation AOT (ahead-of-time), mais les développeurs ne pensent pas pouvoir atteindre cet objectif pour la version 6.0. Entity Framework Core se positionne comme une version légère, extensible, open source et multiplateforme de la technologie d'accès aux données d’Entity Framework.
D’autres évolutions à prévoir
D’autres développements sont également envisagés pour Entity Framework Core 6.0 notamment :
- La possibilité de créer des tables temporelles SQL Server. Ces tables prennent en charge les requêtes temporelles, via des migrations. De plus, l'accès aux données historiques serait autorisé par le biais de requêtes LINQ.
- L’introduction d’un mécanisme commun et de modèles pour la prise en charge de JSON qui pourra être mis en œuvre par n'importe quel fournisseur de base de données. L’ajout de la prise en charge des colonnes JSON est aussi envisagé pour SQL Server et SQLite.
- L’ajout de la fonctionnalité ColumnAttribute.Order pour permettre un classement arbitraire des colonnes lors de la création d'une table avec des migrations ou EnsureCreated.
- L’amélioration du support pour la gestion des migrations et du déploiement des bases de données. Cette prise en charge améliorée inclut des offres groupées de migrations pour appliquer des migrations Entity Framework Core à une base de données de production et l'amélioration des outils et de la gestion de projet/assembly.
- La suppression de l'écart de requêtes entre Entity Framework Core 6 (EF Core 6) et Entity Framework 6 (EF6) et faire en sorte que les requêtes Entity Framework Core soient un véritable sur-ensemble des requêtes EF6 prises en charge.
- L’amélioration de l'expérience axée sur les besoins des objets de valeur. Cette approche est basée sur les convertisseurs de valeur plutôt que sur les entités détenues.
- L’exposition des conventions de génération de modèle aux applications.
Les développeurs précisent aussi que cette planification ne vaut pas engagement.