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

データベースファーストの手法でモデルを更新する方法

2023-08-14 12:09:21

質問

私はモデルを作成するために最初にEntityFramework Coreデータベースを使用しました。 EF Coreのドキュメントで説明されているように

しかし、データベースが編集されたときにモデルを更新する方法がわかりません。

どのように解決するのですか?

モデルを再スキャフォールドするには、最初に実行したコマンドを -Force オプションを追加して実行します。その結果、指定したフォルダの内容が上書きされます。パッケージマネージャーコンソールを使う の例は、EF Core のドキュメントにある とすると、修正されたコマンドは次のようになります。

Scaffold-DbContext "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

あるいは CLIコマンド の場合は、次のようになります。

dotnet ef dbcontext scaffold "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models -f

しかし、モデルとデータベーススキーマを互いに同期させるために、Migrationsの使用を検討すべきです。そうすれば、モデルに変更を加えてから、それをデータベースに伝搬させることができます。