2012-02-14 10 views

答えて

9

素敵なウォークスルーこのためにはここに掲載されています。私はお勧めしhttp://thedatafarm.com/data-access/using-ef-4-3-code-first-migrations-with-an-existing-database/

1つの変更は、移行を展開しているまで、単に上下のメソッド内のコードをコメントアウトすることです。その後、コードのコメントを外すことができ、後で必要な場合は新しいデータベースを作成することができます。

+0

良い点を参照してください、ありがとう! – enamrik

+0

これは現在404です –

+0

詳細はこちらhttp://tinyurl.com/q2hepmw – Spock

8

私はAutomaticMigrationsEnabled = falseを設定すると有効になるCodebased Migrationsを探していたようです。私のモデルは、既存のデータベースから生成されました。マイグレーションを有効にするには、マイグレーションを有効にする(Enable-Migrations)、Add-Migrationを使用して新しいマイグレーションファイルを作成し、それを空にするだけでした(私のモデルはすでにデータベースに入っています。それらを作成して)展開します。 __MigrationHistoryが作成された新しいテーブル

protected void Application_Start() 
{ 
     var config= new Configuration(); 
     var migrator = new DbMigrator(config); 
     migrator.Update(); 
} 

をし、新しい移行レコードはそれで作成した展開するには、私は私のGlobal.asaxファイルに以下を追加しました。この新しい移行レコードには私のモデルのハッシュが含まれていたので、今後のEFでの移行で私のモデルに対する変更をスクリプト化することができます。

テストするために、別のマイグレーションファイル(Add-Migration)を作成しました。モデルに新しいプロパティを追加し、新しいフィールドをスクリプト化してアプリケーションをデプロイしたAdd-Migrationsを実行しました。移行は予想どおり実行されました。

関連する問題