EF Core .NET-BefehlszeilentoolsEF Core .NET Command-line Tools

Das Entity Framework Core .NET Befehlszeilentools sind eine Erweiterung für die plattformübergreifende Dotnet Befehl, die Teil von der .NET Core SDK.The Entity Framework Core .NET Command-line Tools are an extension to the cross-platform dotnet command, which is part of the .NET Core SDK.

Tipp

Wenn Sie Visual Studio verwenden, empfiehlt es sich PMC Tools seitdem sie stattdessen eine weitere integrierte Lösung bieten.If you're using Visual Studio, we recommend the PMC Tools instead since they provide a more integrated experience.

Installieren der ToolsInstalling the tools

Installieren Sie die EF Core .NET-Befehlszeilentools mithilfe der folgenden Schritte:Install the EF Core .NET Command-line Tools using these steps:

  1. Bearbeiten der Projektdatei, und fügen Sie Microsoft.EntityFrameworkCore.Tools.DotNet als DotNetCliToolReference-Element (siehe unten)Edit the project file and add Microsoft.EntityFrameworkCore.Tools.DotNet as a DotNetCliToolReference item (See below)
  2. Führen Sie die folgenden Befehle ein:Run the following commands:

    dotnet add package Microsoft.EntityFrameworkCore.Design
    dotnet restore
    

Das daraus resultierende Projekt sollte etwa wie folgt aussehen:The resulting project should look something like this:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design"
                      Version="2.0.0"
                      PrivateAssets="All" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet"
                            Version="2.0.0" />
  </ItemGroup>
</Project>

Hinweis

Ein Verweis Paket mit PrivateAssets="All" bedeutet, er ist nicht verfügbar gemacht, um Projekte, die auf dieses Projekt verweisen, insbesondere für die Pakete, die in der Regel nur während der Entwicklung verwendet werden.A package reference with PrivateAssets="All" means it isn't exposed to projects that reference this project, which is especially useful for packages that are typically only used during development.

Wenn Sie alles richtig haben, sollten Sie den folgenden Befehl an einer Eingabeaufforderung erfolgreich ausführen können.If you did everything right, you should be able to successfully run the following command in a command prompt.

dotnet ef

Mithilfe der toolsUsing the tools

Bei jedem eines Befehls aufrufen umfasst zwei Projekte:Whenever you invoke a command, there are two projects involved:

Das Zielprojekt ist keine Dateien hinzugefügt werden (oder in einigen Fällen entfernt).The target project is where any files are added (or in some cases removed). Das Zielprojekt wird standardmäßig auf das Projekt im aktuellen Verzeichnis, jedoch können geändert werden, mithilfe der – Projekt Option.The target project defaults to the project in the current directory, but can be changed using the --project option.

Das Startprojekt wird von den Tools emuliert wird, wenn der Code des Projekts ausführen.The startup project is the one emulated by the tools when executing your project's code. Auch wird standardmäßig auf das Projekt im aktuellen Verzeichnis, aber kann geändert werden, mithilfe der --Startprojekt Option.It also defaults to the project in the current directory, but can be changed using the --startup-project option.

Allgemeine Optionen:Common options:

--json--json JSON-Ausgabe anzeigen.Show JSON output.
-c-c --Kontext <DBCONTEXT >--context <DBCONTEXT> Die DbContext verwenden.The DbContext to use.
-P-p --Projekt <Projekt >--project <PROJECT> Das Projekt verwendet werden soll.The project to use.
-s-s --Startprojekt <Projekt >--startup-project <PROJECT> Das Startup-Projekt verwenden.The startup project to use.
--Framework <FRAMEWORK >--framework <FRAMEWORK> Das Zielframework.The target framework.
--Konfiguration <CONFIGURATION >--configuration <CONFIGURATION> Die zu verwendende Konfiguration.The configuration to use.
--Runtime <BEZEICHNER >--runtime <IDENTIFIER> Die Laufzeit verwendet werden soll.The runtime to use.
-h-h – Hilfe--help Anzeigen von Hilfeinformationen.Show help information.
-v-v -verbose--verbose Zeigen Sie eine ausführlichen Ausgabe.Show verbose output.
--keine Farbe--no-color Nicht zur farblichen Kennzeichnung der Ausgabe.Don't colorize output.
--Präfix-Ausgabe--prefix-output Präfix Ausgabe auf.Prefix output with level.

Tipp

Legen Sie zum Angeben der ASP.NET Core-Umgebung die ASPNETCORE_ENVIRONMENT Umgebungsvariablen vor der Ausführung.To specify the ASP.NET Core environment, set the ASPNETCORE_ENVIRONMENT environment variable before running.

BefehleCommands

Dotnet Ef das Löschen einer Datenbankdotnet ef database drop

Löscht die Datenbank.Drops the database.

Optionen:Options:

-f-f --erzwingen--force Bestätigen Sie nicht.Don't confirm.
--Probelauf--dry-run Anzeigen, welche Datenbank verworfen werden, jedoch nicht, legen Sie sie.Show which database would be dropped, but don't drop it.

Dotnet Ef-Datenbankupdatedotnet ef database update

Aktualisiert die Datenbank in eine angegebene Migration.Updates the database to a specified migration.

Argumente:Arguments:

<MIGRATION ><MIGRATION> Der zielmigration.The target migration. Bei 0 werden bei allen Migrationen rückgängig gemacht werden.If 0, all migrations will be reverted. Standardmäßig bis zum letzten Migration.Defaults to the last migration.

Dotnet Ef Dbcontext infodotnet ef dbcontext info

Ruft Informationen zu einem DbContext-Typ ab.Gets information about a DbContext type.

Dotnet Ef Dbcontext-Listedotnet ef dbcontext list

Listet die verfügbare DbContext-Typen.Lists available DbContext types.

Dotnet Ef Dbcontext Gerüstdotnet ef dbcontext scaffold

Gerüste ein ' DbContext ' und Entität Typen für eine Datenbank.Scaffolds a DbContext and entity types for a database.

Argumente:Arguments:

<VERBINDUNG ><CONNECTION> Die Verbindungszeichenfolge zur Datenbank.The connection string to the database.
<ANBIETER ><PROVIDER> Die zu verwendenden Anbieter an.The provider to use. (D. h.(E.g. Microsoft.EntityFrameworkCore.SqlServer)Microsoft.EntityFrameworkCore.SqlServer)

Optionen:Options:

-d:-d --datenanmerkungen--data-annotations Verwenden Sie Attribute, um das Modell (sofern möglich) konfigurieren.Use attributes to configure the model (where possible). Wenn nicht angegeben, wird nur die fluent-API verwendet.If omitted, only the fluent API is used.
-c-c --Kontext <NAME >--context <NAME> Der Name von ' DbContext '.The name of the DbContext.
-f-f --erzwingen--force Überschreiben Sie vorhandene Dateien.Overwrite existing files.
-o-o --Ausgabe Dir <Pfad >--output-dir <PATH> Das Verzeichnis in den Dateien versetzt.The directory to put files in. Pfade sind relativ zum Projektverzeichnis an.Paths are relative to the project directory.
--Schema <SCHEMA_NAME >...--schema <SCHEMA_NAME>... Die Schemas der Tabellen zur Generierung von Entitätstypen für.The schemas of tables to generate entity types for.
-t-t --Tabelle <TABLE_NAME >...--table <TABLE_NAME>... Die Tabellen für Entitätstypen generieren.The tables to generate entity types for.
– Verwenden der Datenbanknamen--use-database-names Verwenden Sie die Tabellen- und Spaltennamen direkt aus der Datenbank.Use table and column names directly from the database.

Dotnet Ef Migrationen hinzufügendotnet ef migrations add

Fügt eine neue Migration.Adds a new migration.

Argumente:Arguments:

<NAME ><NAME> Der Name der Migration.The name of the migration.

Optionen:Options:

-o-o --Ausgabe Dir <Pfad >--output-dir <PATH> Das Verzeichnis (und Sub-Namespace) zu verwenden.The directory (and sub-namespace) to use. Pfade sind relativ zum Projektverzeichnis an.Paths are relative to the project directory. Der Standardwert ist "Migration".Defaults to "Migrations".

Dotnet Ef Migrationen Listedotnet ef migrations list

Listet die verfügbaren Migrationen.Lists available migrations.

Entfernen Sie Dotnet Ef Migrationendotnet ef migrations remove

Entfernt die letzte Migration.Removes the last migration.

Optionen:Options:

-f-f --erzwingen--force Überprüfen Sie nicht, um festzustellen, ob die Migration der Datenbank angewendet wurde.Don't check to see if the migration has been applied to the database.

Dotnet Ef Migrationen Skriptdotnet ef migrations script

Generiert ein SQL-Skript von Migrationen.Generates a SQL script from migrations.

Argumente:Arguments:

<AUS ><FROM> Der Start Migration.The starting migration. Der Standardwert ist 0 (die ursprüngliche Datenbank).Defaults to 0 (the initial database).
<UM ><TO> Der Endwert Migration.The ending migration. Standardmäßig bis zum letzten Migration.Defaults to the last migration.

Optionen:Options:

-o-o --Ausgabe <Datei >--output <FILE> Die Datei, schreibt das Ergebnis.The file to write the result to.
-i-i --idempotent--idempotent Generiert ein Skript, das für eine Datenbank bei jeder Migration verwendet werden kann.Generate a script that can be used on a database at any migration.