Entity Framework Core 3.0 Preview 4

Par:
fredericmazue

jeu, 02/05/2019 - 10:00

Dans la foulée de la disponibilité de .NET Core 3 Preview 4, Microsoft annonce la disponibilité de Entity Framework Core 3.0 Preview 4.

Pour mémoire Entity Framework est le mapping objet-relationnel utilisé par la technologie Microsoft .NET1. Il est écrit en langage C#. Entity Framework Core est une version légère et extensible de la technologie Entity Framework.

Cette version apporte plus de 50 correctifs de bugs et améliorations de fonctionnalités. Le changement le plus important est sans doute que les requêtes LINQ ne seront bientôt plus évaluée sur le client, sauf pour le dernier opérateur select de la requête. Pour préparer à ce changement, Microsoft a, dans cette Preview 4, basculé le comportement d'évaluation du client vers la levée d'exception par défaut

A remarquer : Le runtime EF Core ne fait plus partie du framework partagé ASP.NET Core. La conséquence principale de ce changement est que, quel que soit le type d’application que vous construisez ou la base de données utilisée par votre application, vous devez obtenir EF Core en installant le package NuGet pour le fournisseur EF Core de votre choix. A remarquer encore : Code Analyzer détecte désormais l'utilisation des API internes EF Core. EF Core expose certaines de ses API internes dans des types publics. Par exemple, tous les types nommés sous les espaces de noms EF Core imbriqués nommés  Internal sont considérés comme des API internes, même s'il s'agit de types techniquement publics. Dans le passé, cela permettait aux développeurs d'applications et aux rédacteurs de fournisseurs d'utiliser involontairement des API internes dans leur code. Avec ce nouvel analyseur, l’utilisation des API internes EF Core génère un avertissement par défaut. Par exemple:

EF1001: Microsoft.EntityFrameworkCore.Internal.MethodInfoExtensions is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release.

Si l'utilisation est intentionnelle, l'avertissement peut être supprimé comme n'importe quel avertissement d'analyse de code.

Pour des préversions de Entity Framework Core 3.0, jusqu'à cette quatrième incluse, Microsoft s'est concentrée sur les améliorations pouvant avoir le plus fort impact sur les applications existantes.

Mais pour la version 3.0 finale, Microsoft prévoit une implémentation LINQ améliorée, une prise en charge de Cosmos DB, des fonctionnalités C # 8.0 telles que les types de référence nullables et les collections asynchrones, la rétro-ingénierie des vues de base de données, les entités bag preperty et une nouvelle version de EF6 pouvant fonctionner sur .NET Core.