6

EF 4.1 (Code First) で開発された 1 つの DB を変更したいと考えています。プロジェクトを EF 4.3 にアップグレードし、次の手順に従います: http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

すべてが順調に進んでいますが、現在の DB (EF 4.1 Code First) でテストしたい場合、Update-Database で次のエラーが発生します。

ターゲット データベースが EF 4.3 より前のバージョンの Code First で作成されており、移行履歴テーブルが含まれていないため、次の移行をスキャフォールディングできません。このデータベースに対して移行の使用を開始するには、現在のモデルがターゲット データベースと互換性があることを確認し、移行の更新プロセスを実行します。(Visual Studio では、パッケージ マネージャー コンソールから Update-Database コマンドを使用して、移行の更新プロセスを実行できます)。

どうすれば EF 4.1 (Code First) DB を移行できるのだろうか? さらに、その DB はライブでデータがあり、テーブルを削除できません。

4

2 に答える 2

7

モデルに変更を加える前に、空の移行を作成して実行する必要があります。移行履歴テーブルが作成されます。その後、新しい変更に対して移行を使用できます。このトピックに関するウォークスルー記事を書きました。

于 2012-03-01T23:42:01.347 に答える
0

モデルに変更を加える前に、「Add-Migration InitialMigration -IgnoreChanges」を実行してください。必要な変更を行ってから、「update-database」を実行してください。

于 2013-08-05T07:14:42.250 に答える