Partager via


Nouveautés dans EF6

Nous vous recommandons vivement d’utiliser la dernière version publiée d’Entity Framework pour bénéficier des dernières fonctionnalités et d’une stabilité optimale. Toutefois, vous pouvez aussi avoir besoin d’utiliser une version antérieure ou vouloir tester les nouvelles améliorations de la dernière préversion. Pour installer des versions spécifiques d’EF, consultez Obtenir Entity Framework.

EF 6.5.0

Le runtime EF 6.5.0 a été publié sur NuGet en juin 2024. L’objectif principal d’EF 6.5 est d’inclure un nouveau fournisseur SQL Server/Azure SQL Database. Consultez la liste des correctifs importants sur GitHub. Voici les plus connus :

  • Nouveau fournisseur SQL Server/Azure SQL Database (fourni par la communauté) – Microsoft.EntityFramework.SqlServer. Ce nouveau fournisseur utilise le client SQL Server moderne Microsoft.Data.SqlClient. Pour plus d’informations sur la configuration de ce fournisseur, consultez le Guide Microsoft.EntityFramework.SqlServer.
  • L’utilitaire ef6 a été mis à jour pour prendre uniquement en charge .NET 6 et les versions ultérieures. Il a également été mis à jour pour prendre en charge la lecture à partir de fichiers app.config et prendre en charge Windows ARM64.
  • Le pilote System.Data.SqlClient a été mis à jour vers la version 4.8.6.

EF 6.4.0

Le runtime EF 6.4.0 a été publié sur NuGet en décembre 2019. L’objectif principal d’EF 6.4 est de peaufiner les fonctionnalités et les scénarios fournis par EF 6.3. Consultez la liste des correctifs importants sur GitHub.

EF 6.3.0

Le runtime EF 6.3.0 a été publié sur NuGet en septembre 2019. L’objectif principal de cette version était de faciliter la migration des applications existantes qui utilisent EF 6 vers .NET Core 3.0. La communauté a également contribué à plusieurs correctifs de bogues et améliorations. Pour plus d’informations, consultez les problèmes fermés à chaque jalon de la version 6.3.0. Voici les plus connus :

  • Prise en charge de .NET Core 3.0
    • Le package EntityFramework cible maintenant .NET Standard 2.1 en plus de .NET Framework 4.x.
    • Cela signifie que EF 6.3 est multiplateforme et pris en charge sur d’autres systèmes d’exploitation que Windows, comme Linux et macOS.
    • Les commandes de migrations ont été réécrites pour s’exécuter hors processus et fonctionner avec des projets de type SDK.
  • Prise en charge de SQL Server HierarchyId.
  • Compatibilité améliorée avec Roslyn et NuGet PackageReference.
  • Ajout de l’utilitaire ef6.exe pour l’activation, l’ajout, l’écriture de scripts et l’application de migrations à partir d’assemblys. Ceci remplace migrate.exe.

Prise en charge du concepteur EF

L’utilisation du concepteur EF directement dans les projets .NET Core ou .NET Standard, ou dans les projets .NET Framework de style SDK, n’est pas prise en charge.

Vous pouvez contourner cette limitation en ajoutant le fichier EDMX et les classes générées pour les entités et pour DbContext en tant que fichiers liés à un projet .NET Core 3.0 ou .NET Standard 2.1 dans la même solution.

Les fichiers liés ressembleront à ce qui suit dans le fichier projet :

<ItemGroup>
  <EntityDeploy Include="..\EdmxDesignHost\Entities.edmx" Link="Model\Entities.edmx" />
  <Compile Include="..\EdmxDesignHost\Entities.Context.cs" Link="Model\Entities.Context.cs" />
  <Compile Include="..\EdmxDesignHost\Thing.cs" Link="Model\Thing.cs" />
  <Compile Include="..\EdmxDesignHost\Person.cs" Link="Model\Person.cs" />
</ItemGroup>

Notez que le fichier EDMX est lié à l’action de création EntityDeploy. Il s’agit d’une tâche MSBuild spéciale (désormais incluse dans le package EF 6.3) qui prend en charge l’ajout du modèle EF à l’assembly cible en tant que ressources incorporées (ou copiez-le en tant que fichiers dans le dossier de sortie, en fonction du paramètre de traitement des artefacts de métadonnées dans EDMX). Pour plus d’informations sur la façon d’obtenir cette configuration, consultez notre exemple .NET Core EDMX.

Avertissement : vérifiez que le projet .NET Framework utilisant l’ancien style (autre que le style SDK) qui définit le « vrai » fichier .edmx est situé avant le projet qui définit le lien situé dans le fichier .sln. Sinon, lorsque vous ouvrirez le fichier .edmx dans le concepteur, vous verrez le message d’erreur « Entity Framework n’est pas disponible dans la version cible de .NET Framework actuellement spécifiée pour le projet. Vous pouvez changer la version cible de .NET Framework du projet ou modifier le modèle dans XmlEditor ».

Versions précédentes

La page Versions précédentes contient une archive de toutes les versions précédentes d’Entity Framework et des principales fonctionnalités introduites dans chaque version.