6

EF 4.1(コードファースト)で開発された1つのDBを変更したいと考えています。私は、EF 4.3にプロジェクトをアップグレードして、この手順に従います。 http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspxEF(Entity Framework)4.3移行ツールがEF 4.1 DBで動作しない

すべてがうまくいっているが、私は現在のDB(EF 4.1コードファースト)でテストしたい場合、更新-データベースは、このエラーを発生させる:

Cannot scaffold the next migration because the target database was created with a version of Code First earlier than EF 4.3 and does not contain the migrations history table. To start using migrations against this database, ensure the current model is compatible with the target database and execute the migrations Update process. (In Visual Studio you can use the Update-Database command from Package Manager Console to execute the migrations Update process).

私はEF 4.1(コードファースト)DBをどのように移行できますか?さらに、DBはライブであり、データがあり、テーブルを削除することはできません。

+1

読むエラーメッセージを。指示に従ってください。 – jrummell

+0

しかし、これは再帰的なエラーメッセージです。 –

答えて

8

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

+0

こんにちはLadislav、私はあなたの指示に従いましたが、パッケージマネージャコンソール(PM> Add-Migration InitialMigration -IgnoreChanges)で最初の移行を追加するときに、このエラーが再び発生しました:「ターゲットデータベースがコードファーストのバージョンはEF 4.3より前であり、マイグレーション履歴テーブルは含まれていません.... " – Pouyan

+0

変更前に" Add-Migration InitialMigration -IgnoreChanges "を実行する必要があることがわかりました – Pouyan

+0

これは最後に言及されています記事の段落。 –

0

ファイル名を指定して実行「を追加し、移行InitialMigration -IgnoreChanges」をモデルに変更を行う前に...必要な変更を行い、その後、実行し、「更新データベース」

関連する問題