0

スキーマとデータを含む既存の開発DBがあります。マイクロソフトユーティリティを使用してクラスを作成しました(つまり、CodeFirstクラス)。次に、移行を有効にしました。

今、私は-IgnoreChangesの動作に戸惑っています。最初の移行にUp()ロジックとDown()ロジックがない場合、prod dbにデプロイするとどうなりますか?

EFは単にすべての移行を無視し、モデルから直接ゼロから構築するだけですか?

-IgnoreChangesを入力しない場合、すべてのUp()およびDown()ロジックがそこにあります。ただし、Update-Databaseを実行すると、同じ名前のテーブルがすでに存在するという例外がスローされます。

EF5RCを使用しています。

4

1 に答える 1

1

IgnoreChanges(devとprodの両方に)既存のアプリケーションがあり、移行の使用を開始したいシナリオ用です。既存のデータベースへの初期移行の追加IgnoreChangesを簡素化します。本番データベースが存在しないシナリオでは、変更を無視を使用できません。

この場合の簡単なオプションは、既存のデータベースからエンティティを作成し、それらのエンティティからの移行によって作成された別のデータベースで作業を続けることです。これは、Upメソッド(およびDownメソッド)内のすべてのエンティティに対してテーブルを作成する必要があるためです。

于 2012-07-26T08:09:18.987 に答える