Entity Framework Core:Scaffold DbContext
このコマンドは、選択したデータベースから DbContext およびエンティティタイプのコードを生成します。 このコマンドを使用して各エンティティタイプを生成するには、対応するデータベーステーブルに主キーが必要です。
内部的には、JetBrains Rider は対応する引数を使用して dotnet ef dbcontext scaffold コマンドを適用します。 マシンに dotnet ef グローバルツールがインストールされていることを確認してください。
次のいずれかを実行します:
ソリューションエクスプローラーで目的のプロジェクトを右クリックし、 を選択します。
メインメニューから を選択します。
必要なオプションをすべて指定できるダイアログが表示されます。

ダイアログで、 データベースを更新するためのオプションを指定します。 デフォルトでは、JetBrains Rider は EF Core コマンドの以前の実行時のオプションを保存し、ほとんどのフィールドを自動的に入力します。 これを無効化する場合は、 ツール | EF コア UI 設定ページ  Ctrl+Alt+S で、 自動入力の一般オプション (機密情報を含まないフィールド用)および 自動入力の追加オプション (接続文字列および関連オプション用)のチェックボックスをオフにしてください。
コマンドを適用するには、 OK をクリックします。 JetBrains Rider は対応する引数を使用して
ef core dbcontext scaffoldコマンドを実行します。デフォルトでは、コマンド出力は EF コア ツールウィンドウの新しいタブに表示されます。 ステータスバーでコマンドの進捗を確認し、ポップアップでコマンドの結果を表示したい場合は、 ツール | EF コア UI 設定ページ  Ctrl+Alt+S で ターミナルでコマンドを実行する チェックボックスをオフにしてください。
以下は、 Scaffold データベースコンテキスト コマンドのオプションのリストです。
共通 | |
接続 | ソースデータベースを選択します。 データベースウィンドウ Ctrl+W, X に追加されたデータベースから選択できます。 |
プロバイダー | 使用するプロバイダー。 通常、これは NuGet パッケージの名前です (例: |
移行プロジェクト | コマンドが適用されるプロジェクト。 特定のプロジェクトのコンテキストメニューからコマンドを呼び出した場合、このプロジェクトが事前に選択されます。 |
スタートアッププロジェクト | アプリケーションを開始する際に実行されるプロジェクトで、エントリポイントや起動ロジック(例えば |
追加オプション | |
出力フォルダー | 移行クラスが生成されるフォルダー。 |
属性を使用してモデルを生成する | 可能な場合は、属性を使用してモデルを構成します。 それ以外の場合は、Fluent API のみが使用されます。 |
データベース名を使用する | テーブル、ビュー、シーケンス、列の名前は、データベースに表示されるとおりに正確に使用してください。 それ以外の場合は、データベース名は C# の名前スタイル規則に従って変更できます。 |
OnConfiguring メソッドを生成する | デフォルトでは、コマンドは生成された |
複数形を使う | 生成された |
ビルドオプション | |
プロジェクトビルドプロセスをスキップ | ビルドが最新の場合にこのオプションを使用します。 このオプションによりコマンドの実行時間が短縮されますが、コマンドを実行する前にプロジェクトがビルドされていない場合は、潜在的な問題の原因となる可能性もあります。 |
ビルド構成 | スタートアッププロジェクトのビルド構成 (例: |
ターゲットフレームワーク | スタートアッププロジェクトをビルドするときにパッケージを復元するターゲット ランタイム。 |
実行 | |
診断ログを有効にする | ツール | EF コア UI 設定ページ  Ctrl+Alt+S で ターミナルでコマンドを実行する チェックボックスが有効化されている場合は、詳細出力を表示します。 |
追加引数 | アプリケーションに渡す追加の引数。 |
生成された DbContext 名 | 生成された |
生成された DbContext フォルダー | 生成された |
デフォルトでは、コマンドはエンティティタイプを生成するためにデータベースのすべてのテーブルを使用します。 特定のテーブルのみを使用するには、 Scaffold 全テーブル をクリアし、必要なテーブルを手動で追加します。
デフォルトでは、コマンドはエンティティタイプを生成するためにデータベースのすべてのスキーマを使用します。 特定のスキーマのみを使用するには、 Scaffold すべてのスキーマ をクリアし、必要なスキーマを手動で追加します。