1

まったく新しいプロジェクトにゼロから取り組んでいます。これは、データ モデルが常に流動的であることを意味します。これは、物事が本来あるべきほど十分に計画されていないことが避けられないためです。モデル クラスはかなり定期的に作成および変更されています。

計画は、最新バージョンの EF を使用して、きちんとしたコード ファーストのものをすべて使用することでした。しかし、テーブルの追加または更新に関して、フレームワークが持つ制限に常につまずいています。初期化オプションでは、データベースの完全な削除と再作成しか許可されていないように見えますが、これは実際には理想的ではありません。

移行について調べてみました。しかし、これは非常に難しいことのように思えます。すべての小さな変更を詳細に説明し、新しい移行スキャフォールドで更新する必要はありません。

これに対処するためのより良い戦略はありますか?たとえば、コンテキストの 1 つにテスト データを事前設定する単体テストの作成を開始しましたが、これにより Db 全体が削除されて再作成されるため、他のすべてのコンテキストで問題が発生します。それとも、カスタム初期化子を使用してデータをシードするのでしょうか? これらを製品コードから簡単に除外するにはどうすればよいでしょうか?

また、おそらくコード ファーストを放棄して、EDMX ダイアグラムに戻ることについても考えています。少なくともそのように変更すると、データベースに対して直接実行できる更新された SQL コマンドが生成されます。

どんな提案もありがたく受け取った。

4

1 に答える 1