質問: Visual Studioで「モデルからデータベースを生成...」を使用してMS SQLデータベースを設計するために、EF6モデルファーストアプローチを使用しています。これにより、すべてのドロップおよび作成ステートメントを含むsqlファイルが生成されます。 データベースがレコードでいっぱいになっている生産的な段階で、すべてのテーブルを削除して再作成したくないので、すべてのレコードをバックアップおよび復元する必要なく、それらのスキーマを適切に更新する必要があります。そこで私はEF Migrationsが役立つと思いました。 私が読んだように、EFの移行はコードファーストアプローチにのみ適しているため、必要なものではありません。 次は、Visual Studioのスキーマ比較ツールです。しかし、残念ながら比較するデータベースが2つありません。比較したいのは、既存のデータベースと新しいEFモデル(またはそこから生成されたSQLファイル)を比較して、テーブルの変更のみをデプロイするためのSQLファイルを取得することです。 これはまったく可能ですか?はいの場合、どこで確認する必要がありますか?
回答: SQLプロジェクトやdacpacs用に構築されたEFツールとは異なり、MicrosoftからのEFツールはありません。 プロダクションスキーマが実行時エラーの時点と変わらないようにするために同様のニーズがあったため、 https : //github.com/reckface/EntityFramework.Verifyを作成しました。 このコードレビューの質問で取り上げられています 。違いを修正するSQLは生成しませんが、違いを通知します。