Outils Entity Framework CoreEntity Framework Core Tools

Les outils Entity Framework Core vous permettent de développer des applications EF Core.The Entity Framework Core Tools help you during the development of EF Core apps. Ils servent principalement à structurer un DbContext et des types d’entité en reconstituant la logique du schéma d’une base de données et à gérer les migrations.They're primarily used to scaffold a DbContext and entity types by reverse engineering the schema of a database, and to manage Migrations.

Les outils de la console du Gestionnaire de package EF Core procurent une expérience de qualité supérieure dans Visual Studio.The EF Core Package Manager Console (PMC) Tools provide a superior experience inside Visual Studio. Exécutez-les dans la console du Gestionnaire de package de NuGet.Run them using NuGet's Package Manager Console. Ces outils fonctionnent avec les projets .NET Framework et .NET Core.These tools work with both .NET Framework and .NET Core projects.

Les outils en ligne de commande .NET EF Core sont une extension des outils de l’interface de ligne de commande .NET Core qui sont multiplateformes et peuvent s’exécuter en dehors de Visual Studio.The EF Core .NET Command-line Tools are an extension to the .NET Core command-line interface (CLI) tools that are cross-platform and can run outside of Visual Studio. Ces outils nécessitent un projet de SDK .NET Core (dont le fichier projet contient Sdk="Microsoft.NET.Sdk" ou une ligne similaire).These tools require a .NET Core SDK project (one with Sdk="Microsoft.NET.Sdk" or similar in the project file).

Les deux outils exposent les mêmes fonctionnalités.Both tools expose the same functionality. Si vous développez dans Visual Studio, nous vous recommandons d’utiliser les outils de la console du Gestionnaire de package, car ils procurent une expérience plus intégrée.If you're developing in Visual Studio, we recommend using the PMC Tools since they provide a more integrated experience.

FrameworksFrameworks

Les outils prennent en charge les projets qui ciblent .NET Framework ou .NET Core.The tools support projects targeting .NET Framework or .NET Core.

Si vous voulez utiliser une bibliothèque de classes, envisagez d’utiliser si possible une bibliothèque de classes .NET Core ou .NET Framework.If you want to use a class library, then consider using a .NET Core or .NET Framework class library if possible. Ceci permet de rencontrer moins de problèmes avec les outils .NET.This will result in the least issues with .NET tooling. Si vous voulez utiliser à la place une bibliothèque de classes .NET Standard, vous devez utiliser un projet de démarrage qui cible .NET Framework ou .NET Core, pour que les outils aient une plateforme cible concrète dans laquelle ils peuvent charger votre bibliothèque de classes.If instead you wish to use a .NET Standard class library, then you will need to use a startup project that targets .NET Framework or .NET Core so that the tooling has a conrete target platform into which it can load your class library. Ce projet de démarrage peut être un projet factice sans code réel ; il est nécessaire seulement pour fournir une cible aux outils.This startup project can be a dummy project with no real code--it is only needed to provide a target for the tooling.

Si votre projet cible un autre framework (par exemple Windows universel ou Xamarin), vous devez créer une bibliothèque de classes .NET Standard distincte.If your project targets another framework (for example, Universal Windows or Xamarin), then you will need to create a separate .NET Standard class library. Dans ce cas, suivez les instructions ci-dessus pour créer également un projet de démarrage qui peut être utilisé par les outils.In this case, follow the guidance above to also create a startup project that can be used by the tooling.

Projets de démarrage et cibleStartup and Target Projects

Chaque fois que vous appelez une commande, deux projets sont impliqués : le projet cible et le projet de démarrage.Whenever you invoke a command, there are two projects involved: the target project and the startup project.

Le projet cible contient les fichiers qui sont ajoutés (ou dans certains cas supprimés).The target project is where any files are added (or in some cases removed).

Le projet de démarrage est le projet qu’émulent les outils durant l’exécution du code de votre projet.The startup project is the one emulated by the tools when executing your project's code.

Le projet cible et le projet de démarrage peuvent être le même.Both the target project and the startup project can be the same.