2017-03-02 7 views
0

移行で最初にEFコードを使用しています。私は古いデータベースを更新する必要がありますが、私はいくつかの移行コードを失ってしまいました。 欠落している移行を生成する方法はありますか?古いデータベース構造を更新できるように、不足している移行を生成します。

+0

を実行します。 –

+0

パッケージマネージャのコマンドラインからupdate-database -scriptを試したことがありますか? https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx – smiggleworth

+0

私は適切な移行を実行していない場合は何のポイントもありません。 –

答えて

0

手順1:バックアップする(明らかに)

ステップ2:一時的なプロジェクトを作成します。__MigrationHistory

ステップ3を削除します。 エンティティデータモデルウィザードを使用してコードファーストモデルを作成します。

手順4:パッケージマネージャコンソールで新しいプロジェクトの移行を有効にします(Enable-Migrationsを使用)。
初期移行を作成します(追加移行1を使用)。作成された移行のUpおよびDownメソッドをコメント化します。
update-databaseを実行します。

手順5:元のプロジェクトのMigrationsフォルダにあるすべてのファイルを一時プロジェクトのファイルに置き換えます。必要に応じてDbContextと名前空間の名前を編集します。パッケージマネージャの実行中に、元のプロジェクトで

ステップ6は、2つの -の移行を追加し、古いデータベースのコード最初のモデルを作成するために、エンティティデータモデルウィザードを使用してに見て更新データベースに

+0

"2"の移行に多くの変更を加えなければなりませんでした。私は将来、古い移行を緩和しないようにもっと注意する。 –

関連する問題