1. ホーム
  2. asp.net-mvc

[解決済み] 既存のデータベースの選択されたテーブルからDbContextをScaffoldすることができますか[重複]。

2022-03-09 06:49:02

質問

Entity Framework の以前のバージョンと同様に、Entity Framework Core では、既存のデータベースの選択されたテーブルのみをリバースエンジニアリングして、そこからモデルクラスを作成することは可能ですか。 このASP.NET公式サイト データベース全体をリバースエンジニアリングします。過去には このASP.NETチュートリアルにあるように 古いEFを使えば、選択したテーブル/ビューだけをリバースエンジニアリングすることができます。

解決方法は?

この問題を解決するには dotnet ef dbcontext scaffold というコマンドで 複数 -t ( --table ) パラメータを使用します。これは、インポートされた(scaffolded)テーブルが必要とするすべてのテーブルを指定することができます。この機能は最初に説明されます。 ここで .

scaffold データベースで使用するスキーマのテーブルを正確に指定し、残りを省略することが可能です。この後のコマンドラインの例では、テーブルをフィルタリングするために必要なパラメータを示します。

.NET Core CLIを使用します。

dotnet ef dbcontext scaffold
          "server=localhost;port=3306;user=root;password=mypass;database=sakila" 
         MySql.Data.EntityFrameworkCore -o sakila
         -t actor -t film -t film_actor -t language -f  

Visual Studioのパッケージマネージャーコンソールです。

Scaffold-DbContext "server=localhost;port=3306;user=root;password=mypass;database=sakila"
     MySql.Data.EntityFrameworkCore -OutputDir Sakila
     -Tables actor,film,film_actor,language -f