Installation d’EF CoreInstalling EF Core

Conditions préalablesPrerequisites

Pour développer des applications .NET Core 2.0 (y compris des applications ASP.NET Core 2.0 qui ciblent .NET Core), vous devez télécharger et installer une version du SDK .NET Core 2.0 qui convient à votre plateforme.In order to develop .NET Core 2.0 applications (including ASP.NET Core 2.0 applications that target .NET Core) you will need to download and install a version of the .NET Core 2.0 SDK that is appropriate to your platform. Cela est vrai même si vous avez installé Visual Studio 2017 version 15.3.This is true even if you have installed Visual Studio 2017 version 15.3.

Pour utiliser EF Core 2.0 ou toute autre bibliothèque .NET Standard 2.0 avec une plateforme .NET en plus de .NET Core 2.0 (par exemple, avec .NET Framework 4.6.1 ou version supérieure), vous avez besoin d’une version de NuGet qui prend en charge .NET Standard 2.0 et ses frameworks compatibles.In order to use EF Core 2.0 or any other .NET Standard 2.0 library with a .NET platforms besides .NET Core 2.0 (e.g. with .NET Framework 4.6.1 or greater) you will need a version of NuGet that is aware of the .NET Standard 2.0 and its compatible frameworks. Voici quelques façons de procéder :Here are a few ways you can obtain this:

Les projets créés avec des versions précédentes de Visual Studio et ciblant .NET Framework peuvent nécessiter des modifications supplémentaires pour être compatibles avec les bibliothèques .NET Standard 2.0 :Projects created with previous versions of Visual Studio and targeting .NET Framework may need additional modifications in order to be compatible 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>
    

Obtention des bitsGetting the bits

La méthode recommandée pour ajouter des bibliothèques runtime EF Core à une application consiste à installer un fournisseur de base de données EF Core à partir de NuGet.The recommended way to add EF Core runtime libraries into an application is to install an EF Core database provider from NuGet.

Outre les bibliothèques runtime, vous pouvez installer des outils qui facilitent la réalisation de plusieurs tâches EF Core dans votre projet au moment de la conception, telles que la création et l’application de migrations et la création d’un modèle basé sur une base de données existante.Besides the runtime libraries, you can install tools which make it easier to perform several EF Core-related tasks in your project at design time, such as creating and applying migrations, and creating a model based on an existing database.

Conseil

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 ex.E.g. 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.database providers for previous versions are not compatible with version 2.0 of the EF Core runtime.

Conseil

Les applications ciblant ASP.NET Core 2.0 peuvent utiliser EF Core 2.0 sans dépendances supplémentaires en plus des fournisseurs de base de données tiers.Applications targeting ASP.NET Core 2.0 can use EF Core 2.0 without additional dependencies besides third party database providers. Les applications ciblant des versions antérieures d’ASP.NET Core doivent être mises à niveau vers ASP.NET Core 2.0 pour utiliser EF Core 2.0.Applications targeting previous versions of ASP.NET Core need to upgrade to ASP.NET Core 2.0 in order to use EF Core 2.0.

Développement multiplateforme à l’aide de l’interface de ligne de commande de base (CLI) .NET CoreCross-platform development using the .NET Core Command Line Interface (CLI)

Pour développer des applications qui ciblent .NET Core, vous pouvez choisir d’utiliser les commandes CLI dotnet en combinaison avec votre éditeur de texte, ou bien un environnement de développement intégré (IDE) tel que Visual Studio, Visual Studio pour Mac ou Visual Studio Code.To develop applications that target .NET Core you can choose to use the dotnet CLI commands in combination with your favorite text editor, or an Integrated Development Environment (IDE) such as Visual Studio, Visual Studio for Mac or Visual Studio Code.

Important

Les applications qui ciblent .NET Core requièrent des versions spécifiques de Visual Studio, par exemple, le développement .NET Core 1.x nécessite Visual Studio 2017, tandis que le développement .NET Core 2.0 requiert Visual Studio 2017 version 15.3.Applications that target .NET Core require specific versions of Visual Studio, e.g. .NET Core 1.x development requires Visual Studio 2017, while .NET Core 2.0 development requires Visual Studio 2017 version 15.3.

Pour installer ou mettre à niveau le fournisseur SQL Server dans une application .NET Core multiplateforme, basculez vers le répertoire de l’application et exécutez la commande suivante dans une ligne de commande :To install or upgrade the SQL Server provider in a cross-platform .NET Core application, switch to the application's directory and run the following in a command line:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

Vous pouvez indiquer une installation de version spécifique dans la commande dotnet add package, à l’aide du modificateur -v.You can indicate a specific version install in the dotnet add package command, using the -v modifier. Par ex.E.g. pour installer les packages EF Core 2.0, ajoutez -v 2.0.0 à la commande.to install EF Core 2.0 packages, append -v 2.0.0 to the command.

EF Core comprend un ensemble de commandes supplémentaires pour l’interface CLI dotnet, commençant par dotnet ef.EF Core includes a set of additional commands for the dotnet CLI, starting with dotnet ef. Pour que vous puissiez utiliser les commandes CLI dotnet ef, le fichier .csproj de votre application doit contenir l’entrée suivante :In order to use the dotnet ef CLI commands, your application’s .csproj file needs to contain the following entry:

<ItemGroup>
  <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>

Les outils CLI .NET Core pour EF Core nécessitent également un package distinct appelé Microsoft.EntityFrameworkCore.Design.The .NET Core CLI tools for EF Core also require a separate package called Microsoft.EntityFrameworkCore.Design. Vous pouvez simplement l’ajouter au projet à l’aide de la commande suivante :You can simply add it to the project using:

dotnet add package Microsoft.EntityFrameworkCore.Design

Important

Utilisez toujours des versions des packages d’outils qui correspondent à la version principale des packages du runtime.Always use versions of the tools packages that match the major version of the runtime packages.

Développement Visual StudioVisual Studio development

Vous pouvez développer de nombreux types d’applications différents qui ciblent .NET Core, .NET Framework ou d’autres plateformes prises en charge par EF Core à l’aide de Visual Studio.You can develop many different types of applications that target .NET Core, .NET Framework, or other platforms supported by EF Core using Visual Studio.

Vous pouvez installer un fournisseur de base de données EF Core dans votre application à partir de Visual Studio de deux façons :There are two ways you can install an EF Core database provider in your application from Visual Studio:

Utilisation de l’interface utilisateur du Gestionnaire de package de NuGetUsing NuGet's Package Manager User Interface

  • Sélectionnez le menu Projet > Gérer les packages NuGet.Select on the menu Project > Manage NuGet Packages

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

  • Sélectionnez le package Microsoft.EntityFrameworkCore.SqlServer et la version souhaitée, puis confirmez.Select the Microsoft.EntityFrameworkCore.SqlServer package and the desired version and confirm

Utilisation de la console du Gestionnaire de package de NuGet.Using NuGet's Package Manager Console (PMC)

  • Sélectionnez le menu Outils -> Gestionnaire de package NuGet -> Console du Gestionnaire de package.Select on the menu Tools > NuGet Package Manager > Package Manager Console

  • Tapez et exécutez la commande suivante dans la console du Gestionnaire de package :Type and run the following command in the PMC:

    Install-Package Microsoft.EntityFrameworkCore.SqlServer
    
  • Vous pouvez utiliser la commande Update-Package à la place pour mettre à jour un package qui est déjà installé dans une version plus récente.You can use the Update-Package command instead to update a package that is already installed to a more recent version

  • Pour spécifier une version spécifique, vous pouvez utiliser le modificateur -Version ; par exemple, pour installer des packages EF Core 2.0, ajoutez -Version 2.0.0 aux commandes.To specify a specific version, you can use the -Version modifier, e.g. to install EF Core 2.0 packages, append -Version 2.0.0 to the commands

OutilsTools

Il existe également dans Visual Studio une version de PowerShell des commandes EF Core qui s’exécutent dans la console du Gestionnaire de package, avec des fonctionnalités similaires aux commandes dotnet ef.There is also a PowerShell version of the EF Core commands which run inside the PMC in Visual Studio, with similar capabilities to the dotnet ef commands. Pour utiliser ces commandes, installez le package Microsoft.EntityFrameworkCore.Tools à l’aide de l’interface utilisateur du Gestionnaire de package ou de la console du Gestionnaire de package.In order to use these, install the Microsoft.EntityFrameworkCore.Tools package using either the Package Manager UI or the PMC.

Important

Utilisez toujours des versions des packages d’outils qui correspondent à la version principale des packages du runtime.Always use versions of the tools packages that match the major version of the runtime packages.

Conseil

Bien que vous puissiez utiliser les commandes dotnet ef à partir de la console du Gestionnaire de package dans Visual Studio, il est beaucoup plus pratique d’utiliser la version PowerShell :Although it is possible to use the dotnet ef commands from the PMC in Visual Studio, it is far more convenient to use the PowerShell version:

  • Elles fonctionnent automatiquement avec le projet sélectionné dans la console du Gestionnaire de package sans que vous ayez besoin de basculer manuellement entre les répertoires.They automatically work with the current project selected in the PMC 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.

Important

Packages dépréciés dans EF Core 2.0 : si vous mettez à niveau une application existante vers EF Core 2.0, vous pouvez être amené à supprimer manuellement des références à des packages EF Core plus anciens.Deprecated packages in EF Core 2.0: If you are upgrading an existing application to EF Core 2.0, some references to older EF Core packages may need to be removed manually. En particulier, les packages design-time des fournisseurs de base de données tels que Microsoft.EntityFrameworkCore.SqlServer.Design ne sont plus requis ou pris en charge dans EF Core 2.0, mais ils ne sont pas automatiquement supprimés durant la mise à niveau des autres packages.In particular, database provider design-time packages such as Microsoft.EntityFrameworkCore.SqlServer.Design are no longer required or supported in EF Core 2.0, but will not be automatically removed when upgrading the other packages.