1

コードファーストの移行を使用しています。ここで、アプリケーションを新しいサーバーに公開するときに、モデルのデータベースとすべてのテーブルを作成する必要があります。

データベースのバージョン管理を追跡したいので、自動移行を使用したくありません。ただし、アプリケーションを新しいサーバーにデプロイするときに、現在のモデルに到達するためのすべての手順を実行したくありません(たとえば、後のリビジョンで削除されるテーブル/列の追加)。

(POCO)データモデル全体を含む1つの移行を作成する方法があるかどうかを知りたいです。

4

1 に答える 1

0

接続文字列を変更して新しいデータベースをターゲットにすると、EF はモデルを比較し、データベースに存在するものと移行します。何も存在しない場合 (新しいデータベース) 次に、すべての移行を順番に実装することにより、現在のデータベースと一致するデータベースを作成します。実装する前に生成された sql を確認したい場合は、次を実行します。

update-database -verbose -script 

パッケージ マネージャー コンソールで、何が生成されるかを確認します。

次のようになります。

  • テーブルの作成
  • 移行の挿入
  • 履歴行の変更
  • 表の挿入
  • 移行履歴行
  • 等...

大量の移行がある場合でも、それらをすべて 1 つのスクリプトに結合し、一度にすべて実装します。

于 2012-10-12T11:46:34.687 に答える