EF コア パッケージ マネージャー コンソール ツールEF Core Package Manager Console Tools

NuGet を使用して Visual Studio 内での EF コア パッケージ マネージャー コンソール (PMC) ツールの実行Package Manager Consoleです。The EF Core Package Manager Console (PMC) Tools run inside of Visual Studio using NuGet's Package Manager Console. これらのツールは、.NET Framework プロジェクトと .NET Core プロジェクトの両方に使えます。These tools work with both .NET Framework and .NET Core projects.


Visual Studio を使用していないか。Not using Visual Studio? [コア コマンド ライン ツールの EF] 1クロスプラット フォームにあり、コマンド プロンプト内で実行します。The EF Core Command-line Tools are cross-platform and run inside a command prompt.

ツールのインストールInstalling the tools

Microsoft.EntityFrameworkCore.Tools NuGet パッケージをインストールすることによって、EF コア パッケージ マネージャー コンソールのツールをインストールします。Install the EF Core Package Manager Console Tools by installing the Microsoft.EntityFrameworkCore.Tools NuGet package. 内の次のコマンドを実行して、インストールすることができますPackage Manager Consoleです。You can install it by executing the following command inside Package Manager Console.

Install-Package Microsoft.EntityFrameworkCore.Tools

すべて正常である場合は、このコマンドを実行することができます。If everything worked correctly, you should be able to run this command:

Get-Help about_EntityFrameworkCore


スタートアップ プロジェクトの対象 .NET 標準場合サポートされているフレームワークの間のターゲットツールを使用する前にします。If your startup project targets .NET Standard, cross-target a supported framework before using the tools.


使用する場合ユニバーサル WindowsまたはXamarin、EF コードを標準 .NET クラス ライブラリに移動し、サポートされているフレームワークの間のターゲットツールを使用する前にします。If you're using Universal Windows or Xamarin, move your EF code to a .NET Standard class library and cross-target a supported framework before using the tools. スタートアップ プロジェクトとして、クラス ライブラリを指定します。Specify the class library as your startup project.

ツールを使用します。Using the tools

コマンドを呼び出すときに 2 つのプロジェクト。Whenever you invoke a command, there are two projects involved:

ターゲット プロジェクトでは、ファイルが追加されます (削除される場合もあります)。The target project is where any files are added (or in some cases removed). ターゲット プロジェクトの既定値、既定のプロジェクトパッケージ マネージャー コンソールで、選択されているを使用して指定することもプロジェクト パラメーターです。The target project defaults to the Default project selected in Package Manager Console, but can also be specified using the -Project parameter.

スタートアップ プロジェクトは、プロジェクトのコードを実行したとき、ツールによってエミュレートされるプロジェクトです。The startup project is the one emulated by the tools when executing your project's code. 既定値は 1 つスタートアップ プロジェクトとして設定ソリューション エクスプ ローラーでします。It defaults to one Set as StartUp Project in Solution Explorer. 指定できます - スタートアップ プロジェクトに設定パラメーターを使用します。It can also be specified using the -StartupProject parameter.

一般的なパラメーター:Common parameters:

-Context <String>-Context <String> 使用する DbContext です。The DbContext to use.
-Project <String>-Project <String> 使用するプロジェクトです。The project to use.
-StartupProject <String>-StartupProject <String> 使用するスタートアップ プロジェクトです。The startup project to use.
-Verbose-Verbose 詳細出力を表示します。Show verbose output.

コマンドに関するヘルプ情報を表示するには、PowerShell を使用してGet-Helpコマンド。To show help information about a command, use PowerShell's Get-Help command.


コンテキスト、プロジェクト、およびスタートアップ プロジェクトに設定のパラメーターは、タブ拡張をサポートします。The Context, Project, and StartupProject parameters support tab-expansion.


設定env:ASPNETCORE_ENVIRONMENT ASP.NET Core 環境の指定を実行する前にします。Set env:ASPNETCORE_ENVIRONMENT before running to specify the ASP.NET Core environment.



新しい移行を追加します。Adds a new migration.


-名前<文字列 >-Name <String> 移行の名前。The name of the migration.
-OutputDir<文字列 >-OutputDir <String> ディレクトリ (およびサブ名前空間) を使用します。The directory (and sub-namespace) to use. パスでは、プロジェクト ディレクトリに対して相対的です。Paths are relative to the project directory. 既定値は「移行」です。Defaults to "Migrations".


内のパラメーター太字が必要ですとで斜体位置指定されます。Parameters in bold are required, and ones in italics are positional.


データベースを削除します。Drops the database.


-WhatIf-WhatIf データベースは削除しますが、それを削除しないを表示します。Show which database would be dropped, but don't drop it.


DbContext 型に関する情報を取得します。Gets information about a DbContext type.


前回の移行を削除します。Removes the last migration.


-Force-Force それがデータベースに適用された場合は、移行を戻します。Revert the migration if it has been applied to the database.

Scaffold DbContextScaffold-DbContext

スキャフォールディング データベースの DbContext とエンティティの型。Scaffolds a DbContext and entity types for a database.


の接続<文字列 >-Connection <String> データベースへの接続文字列。The connection string to the database.
-プロバイダー <文字列 >-Provider <String> 使用するプロバイダー。The provider to use. (例:(E.g. Microsoft.EntityFrameworkCore.SqlServer)Microsoft.EntityFrameworkCore.SqlServer)
-OutputDir<文字列 >-OutputDir <String> ファイルを置くディレクトリです。The directory to put files in. パスでは、プロジェクト ディレクトリに対して相対的です。Paths are relative to the project directory.
-ContextDir<文字列 >-ContextDir <String> DbContext ファイルを配置するディレクトリ。The directory to put DbContext file in. パスでは、プロジェクト ディレクトリに対して相対的です。Paths are relative to the project directory.
-Context <String>-Context <String> 生成する DbContext の名前。The name of the DbContext to generate.
-Schemas <String[]>-Schemas <String[]> エンティティ型を生成するテーブルのスキーマです。The schemas of tables to generate entity types for.
-Tables <String[]>-Tables <String[]> エンティティ型を生成するテーブル。The tables to generate entity types for.
-DataAnnotations-DataAnnotations 属性を使用すると、(可能な場合)、モデルを構成できます。Use attributes to configure the model (where possible). 省略すると、fluent API のみが使用されます。If omitted, only the fluent API is used.
-UseDatabaseNames-UseDatabaseNames データベースから直接テーブルおよび列名を使用します。Use table and column names directly from the database.
-Force-Force 既存のファイルを上書きします。Overwrite existing files.


移行からの SQL スクリプトを生成します。Generates a SQL script from migrations.


-から<文字列 >-From <String> 開始の移行。The starting migration. 既定値は 0 (最初のデータベース)。Defaults to 0 (the initial database).
- <文字列 >-To <String> 終了の移行。The ending migration. 既定値は最後に移行します。Defaults to the last migration.
-Idempotent-Idempotent すべての移行でのデータベースで使用できるスクリプトを生成します。Generate a script that can be used on a database at any migration.
-出力<文字列 >-Output <String> 結果を書き込むファイルです。The file to write the result to.


出力パラメーターは、タブ拡張をサポートします。The To, From, and Output parameters support tab-expansion.


移行<文字列 >-Migration <String> Target の移行。The target migration. '0' の場合はすべての移行を元に戻さです。If '0', all migrations will be reverted. 既定値は最後に移行します。Defaults to the last migration.


移行パラメーターは、タブ拡張をサポートします。The Migration parameter supports tab-expansion.