いくつかのレガシー SQL Server データベースがあり、スキーマを変更することがあります。現在、C++ で記述されたユーティリティを使用して、ユーザーがこれらのスキーマ変更で DB を更新できるようにしています。ユーティリティは現在、すべての DB オブジェクトを作成するために動的 SQL を生成します。私はこれをやり直すことを検討しており、EF の移行が良い方法かもしれないと考えました。私はこの件について少し読みましたが、それがどのように機能するかについての一般的な考えがあります。しかし、現在の手順を置き換えるためにどのようにセットアップするか (またはそれが可能な場合) を理解するのに少し苦労しています。現在、クライアントは多くの以前のバージョンのいずれかである可能性があります。可能な限り古いバージョンに戻って、そこからモデル/初期移行を作成する必要があると思います。次に、すべてのバージョンからの更新をサポートするために、バージョンの変更ごとに増分移行を生成します。それは正しい仮定ですか?また、現在、クライアントは sql server 2000、2005、または 2008 を使用している可能性があります。これは、セットアップ方法に影響しますか (または可能であれば)? さらに、目標は、ユーザーが移行 (できれば上または下) を操作するために使用できる (C# - おそらく WPF) UI を備えたユーティリティを作成することです。パッケージマネージャー内のコマンドラインから移行を操作する方法の例をたくさん見てきましたが、本番環境で DB をアップグレード/ダウングレードするための使いやすい UI を備えたユーティリティを作成する方法についてはあまり多くありません。また、移行でストアド プロシージャを作成する方法を示すものは見たことがありません (私たちの DB はいくつかのストアド プロシージャに依存しています)。私は、他に何もなければ、Sql() メソッドを使用して SQL クエリを生成し、SP を作成できます。あれは正しいですか?より良い方法はありますか?
私の質問が少し具体的でないことは承知しており、申し訳ありません。しかし、私はまだこれを学習する最初のプロセスにあり、これが良い方法であるかどうかを知りたい. ガイダンスをいただければ幸いです。
ありがとう、デニス