Entity Framework Code First で MVC プロジェクトを作成しました。プロジェクトには適切なサイズのデータベースがあり、本番環境にあります。現在、データベースのサイズ (テーブル数) をほぼ 2 倍にする大規模な新しい機能セットを追加しています。開発中は、POCO オブジェクトと Fluent モデル構築ロジックに多くの調整を加える予定です。しかし、私はほとんど変更を加えていないので、100 回の「移行」はしたくありません。
データベース ファーストを行っていた場合は、データベースを変更し、そこからモデルを繰り返し作成します。終了したら、最終的なスキーマを以前のスキーマと比較し、変更スクリプトを作成できました。
新しい一時的な DbContext を作成し、そこに新しいテーブル用の Code First モデルを開発して、反復しながら新しいデータベースをゼロから再作成する傾向があります。そして、満足のいくモデルができたら、それをメインの DbContext に移動し、1 つの大きな移行を作成します。でもこれは痛そうです。また、新しいオブジェクトと既存のオブジェクトの間に何らかの関係を確立する必要があるという問題もあります。
したがって、私の具体的な質問は、Code First データベースに多くの小さな変更を加えるにはどうすればよいかということです。
- 既存のデータベースを再作成せずに
- そして、テストしたい変更ごとに(永続的な)移行を作成せずに