Installation d’Entity Framework CoreInstalling Entity Framework Core

PrérequisPrerequisites

  • EF Core est une bibliothèque .NET Standard 2.0.EF Core is a .NET Standard 2.0 library. Par conséquent, l’exécution d’EF Core nécessite une implémentation .NET prenant en charge .NET Standard 2.0.So EF Core requires a .NET implementation that supports .NET Standard 2.0 to run. EF Core peut aussi être référencé par d’autres bibliothèques .NET Standard 2.0.EF Core can also be referenced by other .NET Standard 2.0 libraries.

  • Par exemple, vous pouvez utiliser EF Core pour développer des applications qui ciblent .NET Core.For example, you can use EF Core to develop apps that target .NET Core. La création d’applications .NET Core nécessite le SDK .NET Core.Building .NET Core apps requires the .NET Core SDK. Vous pouvez aussi utiliser un environnement de développement comme Visual Studio, Visual Studio pour Mac ou Visual Studio Code.Optionally, you can also use a development environment like Visual Studio, Visual Studio for Mac, or Visual Studio Code. Pour plus d’informations, consultez Bien démarrer avec .NET Core.For more information, check Getting Started with .NET Core.

  • Vous pouvez utiliser EF Core pour développer des applications qui ciblent .NET Framework 4.6.1 ou version ultérieure sur Windows, à l’aide de Visual Studio.You can use EF Core to develop applications that target .NET Framework 4.6.1 or later on Windows, using Visual Studio. La dernière version de Visual Studio est recommandée.The latest version of Visual Studio is recommended. Si vous voulez utiliser une ancienne version, comme Visual Studio 2015, vous devez mettre à niveau le client NuGet vers la version 3.6.0 pour utiliser les bibliothèques .NET Standard 2.0.If you want to use an older version, like Visual Studio 2015, make sure you upgrade the NuGet client to version 3.6.0 to work with .NET Standard 2.0 libraries.

  • EF Core peut s’exécuter sur d’autres implémentations .NET comme Xamarin et .NET Native.EF Core can run on other .NET implementations like Xamarin and .NET Native. Toutefois, dans la pratique, ces implémentations ont des limitations de runtime qui peuvent affecter le fonctionnement d’EF Core sur votre application.But in practice those implementations have runtime limitations that may affect how well EF Core works on your app. Pour plus d’informations, consultez Implémentations .NET prises en charge par EF Core.For more information, see .NET implementations supported by EF Core.

  • Enfin, différents fournisseurs de base de données peuvent nécessiter des versions de moteur de base de données, des implémentations .NET ou des systèmes d’exploitation spécifiques.Finally, different database providers may require specific database engine versions, .NET implementations, or operating systems. Vérifiez qu’un fournisseur de base de données EF Core qui prend en charge l’environnement approprié pour votre application est disponible.Make sure an EF Core database provider is available that supports the right environment for your application.

Obtenir le runtime Entity Framework CoreGet the Entity Framework Core runtime

Pour ajouter EF Core à une application, installez le package NuGet du fournisseur de base de données à utiliser.To add EF Core to an application, install the NuGet package for the database provider you want to use.

Si vous créez une application ASP.NET Core, vous n’avez pas besoin d’installer les fournisseurs en mémoire et SQL Server.If you're building an ASP.NET Core application, you don't need to install the in-memory and SQL Server providers. Ces fournisseurs sont inclus dans les versions actuelles d’ASP.NET Core, en même temps que le runtime EF Core.Those providers are included in current versions of ASP.NET Core, alongside the EF Core runtime.

Pour installer ou mettre à jour les packages NuGet, vous pouvez utiliser l’interface de ligne de commande (CLI) .NET Core, la boîte de dialogue Gestionnaire de package Visual Studio ou la console du Gestionnaire de package Visual Studio.To install or update NuGet packages, you can use the .NET Core command-line interface (CLI), the Visual Studio Package Manager Dialog, or the Visual Studio Package Manager Console.

CLI .NET Core.NET Core CLI

  • Utilisez la commande CLI .NET Core suivante à partir de la ligne de commande du système d’exploitation pour installer ou mettre à jour le fournisseur EF Core SQL Server :Use the following .NET Core CLI command from the operating system's command line to install or update the EF Core SQL Server provider:

    dotnet add package Microsoft.EntityFrameworkCore.SqlServer
    
  • Vous pouvez indiquer une version spécifique dans la commande dotnet add package, à l’aide du modificateur -v.You can indicate a specific version in the dotnet add package command, using the -v modifier. Par exemple, pour installer des packages EF Core 2.2.0, ajoutez -v 2.2.0 à la commande.For example, to install EF Core 2.2.0 packages, append -v 2.2.0 to the command.

Pour plus d’informations, consultez Outils de l’interface de ligne de commande (CLI) .NET.For more information, see .NET command-line interface (CLI) tools.

Boîte de dialogue Gestionnaire de package NuGet Visual StudioVisual Studio NuGet Package Manager Dialog

  • Dans le menu Visual Studio, sélectionnez Projet > Gérer les packages NuGetFrom the Visual Studio menu, select Project > Manage NuGet Packages

  • Cliquez sur l’onglet Parcourir ou Mises à jour.Click on the Browse or the Updates tab

  • Pour installer ou mettre à jour le fournisseur SQL Server, sélectionnez le package Microsoft.EntityFrameworkCore.SqlServer et confirmez.To install or update the SQL Server provider, select the Microsoft.EntityFrameworkCore.SqlServer package, and confirm.

Pour plus d’informations, consultez Boîte de dialogue Gestionnaire de package NuGet.For more information, see NuGet Package Manager Dialog.

Console du Gestionnaire de package NuGet Visual StudioVisual Studio NuGet Package Manager Console

  • Dans le menu Visual Studio, sélectionnez Outils > Gestionnaire de package NuGet > Console du Gestionnaire de packageFrom the Visual Studio menu, select Tools > NuGet Package Manager > Package Manager Console

  • Pour installer le fournisseur SQL Server, exécutez la commande suivante dans la Console du Gestionnaire de package :To install the SQL Server provider, run the following command in the Package Manager Console:

    Install-Package Microsoft.EntityFrameworkCore.SqlServer
    
  • Pour mettre à jour le fournisseur, utilisez la commande Update-Package.To update the provider, use the Update-Package command.

  • Pour indiquer une version spécifique, utilisez le modificateur -Version.To specify a specific version, use the -Version modifier. Par exemple, pour installer les packages EF Core 2.2.0, ajoutez -Version 2.2.0 aux commandesFor example, to install EF Core 2.2.0 packages, append -Version 2.2.0 to the commands

Pour plus d’informations, consultez Console Gestionnaire de package.For more information, see Package Manager Console.

Obtenir les outils Entity Framework CoreGet the Entity Framework Core tools

Vous pouvez installer des outils pour effectuer des tâches liées à EF Core dans votre projet, comme créer et appliquer des migrations de base de données, ou créer un modèle EF Core basé sur une base de données existante.You can install tools to carry out EF Core-related tasks in your project, like creating and applying database migrations, or creating an EF Core model based on an existing database.

Deux ensembles d’outils sont disponibles :Two sets of tools are available:

Même si vous pouvez utiliser les commandes dotnet ef à partir de la console du Gestionnaire de package, nous vous recommandons d’utiliser les outils de la console du Gestionnaire de package avec Visual Studio :Although you can also use the dotnet ef commands from the Package Manager Console, it's recommended to use the Package Manager Console tools when you're using Visual Studio:

  • Ils fonctionnent automatiquement avec le projet sélectionné dans la console du Gestionnaire de package dans Visual Studio, sans que vous ayez besoin de changer manuellement les répertoires.They automatically work with the current project selected in the PMC in Visual Studio, without requiring manually switching directories.

  • Elles ouvrent automatiquement les fichiers générés par les commandes de Visual Studio après avoir été exécutées.They automatically open files generated by the commands in Visual Studio after the command is completed.

Obtenir les outils CLI .NET CoreGet the .NET Core CLI tools

Les outils CLI .NET Core nécessitent le SDK .NET Core, mentionné précédemment dans les Prérequis..NET Core CLI tools require the .NET Core SDK, mentioned earlier in Prerequisites.

Les commandes dotnet ef sont incluses dans les versions actuelles du SDK .NET Core, mais pour les activer sur un projet spécifique, vous devez installer le package Microsoft.EntityFrameworkCore.Design :The dotnet ef commands are included in current versions of the .NET Core SDK, but to enable the commands on a specific project, you have to install the Microsoft.EntityFrameworkCore.Design package:

dotnet add package Microsoft.EntityFrameworkCore.Design 

Pour les applications ASP.NET Core, ce package est inclus automatiquement.For ASP.NET Core apps, this package is included automatically.

Important

Utilisez toujours la version des packages d’outils qui correspond à la version principale des packages du runtime.Always use the version of the tools package that matches the major version of the runtime packages.

Obtenir les outils de la console du Gestionnaire de packageGet the Package Manager Console tools

Pour obtenir les outils de la console du Gestionnaire de package pour EF Core, installez le package Microsoft.EntityFrameworkCore.Tools.To get the Package Manager Console tools for EF Core, install the Microsoft.EntityFrameworkCore.Tools package. Par exemple, à partir de Visual Studio :For example, from Visual Studio:

Install-Package Microsoft.EntityFrameworkCore.Tools

Pour les applications ASP.NET Core, ce package est inclus automatiquement.For ASP.NET Core apps, this package is included automatically.

Mise à niveau vers la dernière version EF CoreUpgrading to the latest EF Core

  • Chaque fois que nous publions une nouvelle version d’EF Core, nous publions aussi une nouvelle version des fournisseurs qui font partie du projet EF Core, comme Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Sqlite et Microsoft.EntityFrameworkCore.InMemory.Any time we release a new version of EF Core, we also release a new version of the providers that are part of the EF Core project, like Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Sqlite, and Microsoft.EntityFrameworkCore.InMemory. Vous pouvez simplement passer à la nouvelle version du fournisseur pour obtenir toutes les améliorations.You can just upgrade to the new version of the provider to get all the improvements.

  • EF Core ainsi que les fournisseurs en mémoire et SQL Server sont inclus dans les versions actuelles d’ASP.NET Core.EF Core, together with the SQL Server and the in-memory providers are included in current versions of ASP.NET Core. Pour mettre à niveau une application ASP.NET Core existante vers une version plus récente d’EF Core, mettez toujours à niveau la version d’ASP.NET Core.To upgrade an existing ASP.NET Core application to a newer version of EF Core, always upgrade the version of ASP.NET Core.

  • Si vous devez mettre à jour une application qui utilise un fournisseur de base de données tiers, recherchez toujours une mise à jour du fournisseur qui est compatible avec la version d’EF Core à utiliser.If you need to update an application that is using a third-party database provider, always check for an update of the provider that is compatible with the version of EF Core you want to use. Par exemple, les fournisseurs de base de données pour les versions antérieures ne sont pas compatibles avec la version 2.0 du runtime EF Core.For example, database providers for previous versions are not compatible with version 2.0 of the EF Core runtime.

  • Les fournisseurs tiers d’EF Core ne publient généralement pas de versions correctives en même temps que le runtime EF Core.Third-party providers for EF Core usually don't release patch versions alongside the EF Core runtime. Pour mettre à niveau une application qui utilise un fournisseur tiers vers une version corrective d’EF Core, vous devez peut-être ajouter une référence directe à des composants d’exécution EF Core individuels, comme Microsoft.EntityFrameworkCore et Microsoft.EntityFrameworkCore.Relational.To upgrade an application that uses a third-party provider to a patch version of EF Core, you may need to add a direct reference to individual EF Core runtime components, such as Microsoft.EntityFrameworkCore, and Microsoft.EntityFrameworkCore.Relational.

  • Si vous mettez à niveau une application existante vers la dernière version d’EF Core, vous pouvez être amené à supprimer manuellement des références à des packages EF Core plus anciens :If you're upgrading an existing application to the latest version of EF Core, some references to older EF Core packages may need to be removed manually:

    • Les packages design-time des fournisseurs de base de données comme Microsoft.EntityFrameworkCore.SqlServer.Design ne sont plus obligatoires ou pris en charge dans EF Core 2.0, mais ne sont pas automatiquement supprimés durant la mise à niveau des autres packages.Database provider design-time packages such as Microsoft.EntityFrameworkCore.SqlServer.Design are no longer required or supported from EF Core 2.0 and later, but aren't automatically removed when upgrading the other packages.

    • Les outils CLI .NET étant inclus dans le SDK .NET depuis la version 2.1, la référence à ce package peut être supprimée du fichier projet :The .NET CLI tools are included in the .NET SDK since version 2.1, so the reference to that package can be removed from the project file:

      <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
      
  • Vous devez peut-être modifier les applications qui ciblent le .NET Framework pour qu’elle fonctionnent avec les bibliothèques .NET Standard 2.0 :Applications that target .NET Framework may need changes to work with .NET Standard 2.0 libraries:

    • Modifiez le fichier projet et vérifiez que l’entrée suivante apparaît dans le groupe de propriétés initiales :Edit the project file and make sure the following entry appears in the initial property group:

      <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
      
    • Pour les projets de test, vérifiez également que l’entrée suivante est présente :For test projects, also make sure the following entry is present:

      <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>