4

EF の移行はクールに見えますが、「魔法」が多すぎて、実際に何をしているのかについての説明がほとんどありません。私がやりたいことは、移行ポイントを設定し、DDL スクリプトを取得することです。つまり、ある移行から別の移行への "diff" スクリプト、または作成 DDL スクリプト全体のいずれかです。

問題は、すべての移行コマンドが、私が興味のない多くのことを実行するために存在する実際のデータベースに依存しているように見えることです。それらすべてをバイパスし、移行を操作してスクリプトを生成する方法はありますか?

4

1 に答える 1

0

これは昨日議論されました。__MigrationHistory移行コマンドは、テーブルと対話して実際の状態を取得し、どのような変更を行う必要があるかを正しく計算するため、作業データベースに依存しています。

スクリプトを作成する必要があるだけの場合は、Update-Database と追加のパラメーターを使用してそれを行うことができます。

データベース全体のスクリプトを作成します。

Update-Database -Script -SourceMigration:$InitialDatabase 

移行 A から移行 B にアップグレードするためのスクリプトを作成します。

Update-Database -Script -SourceMigration:"A" -TargetMigration:"B"
于 2012-05-30T08:51:59.640 に答える