質問: 私はMySQLに接続するASP.NET Core MVCアプリケーションを構築しました。 Entity Frameworkを追加することで、エンティティとモデルを自動的に生成するため、ソリューションを強化したいと考えていました。しかし、この新しいバージョン(EFコア)について読むと、コードでモデルを作成してからスクリプトを実行してデータベースを作成する必要があるようです。逆に思えますが、実行時にデータベースを作成したくない場合は、どのようなメリットがありますか? 私はEntity Frameworkが正反対であると思っていました。データベースを作成してから、Visual Studioで素晴らしいUIを使って接続すると、すべてのものが生成されます。なぜ今は逆転したのですか?むしろ、MySQLでデータベースを維持し、Visual Studioで変更をフェッチ/同期したいと思います。
回答: Entity Framework Core(少なくとも今のところ)はCode Firstのアプローチしかサポートしていませんが、EDMXファイルとT4(通常はビジュアルデザイナーを使用)を介してクラスを生成するオプションがなくなったことを意味します。 Entity Framework 6と同じように、コードファーストには2つのオプションがあります。 1. ゼロから。必要に応じてクラスを作成し、クラスを通してデータベースを設計します。 2. データベースをリバースエンジニアリングして、クラスを作成します。これを行う方法については、ここをクリックしてください: 既存のデータベースを使用したASP.NETコアのEFコア入門 両方のオプションを使用すると、POCOのみに結ばれたままになり、移行を使用するかどうかを決めることができます。