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

NuGet を使用して Visual Studio 内での EF Core パッケージ マネージャー コンソール (PMC) ツールの実行パッケージ マネージャー コンソールします。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 Core コマンド ライン ツールクロスプラット フォームであり、コマンド プロンプト内で実行します。The EF Core Command-line Tools are cross-platform and run inside a command prompt.

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

Microsoft.EntityFrameworkCore.Tools NuGet パッケージをインストールすることで、EF Core パッケージ マネージャー コンソールのツールをインストールします。Install the EF Core Package Manager Console Tools by installing the Microsoft.EntityFrameworkCore.Tools NuGet package. 内で次のコマンドを実行してインストールすることができますパッケージ マネージャー コンソールします。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 Standard を対象とする場合クロス ターゲット フレームワークがサポートされているツールを使用する前にします。If your startup project targets .NET Standard, cross-target a supported framework before using the tools.


使用している場合ユニバーサル WindowsまたはXamarin、EF コードを .NET Standard クラス ライブラリに移動し、クロス ターゲット フレームワークがサポートされているツールを使用する前にします。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. いずれかに既定でスタートアップ プロジェクトとして設定ソリューション エクスプ ローラーでします。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 <文字列 >-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.


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


の接続<文字列 >-Connection <String> データベースへの接続文字列。The connection string to the database.
プロバイダー <文字列 >-Provider <String> 使用するプロバイダー。The provider to use. (たとえば、Microsoft.EntityFrameworkCore.SqlServer)(for example, 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.