Entity Frameworkコードの最初の移行で次のような状況に頻繁に遭遇します。いくつかの移行を追加し、データベースを正常に更新します。後で新しい移行を追加したい場合、Add-Migrationコマンドは、「次の明示的な移行が保留されているため、明示的な移行を生成できません...」という文句を言います。つまり、以前に移行されたものが既に適用されていることを忘れているように見えるので、現在保留中とみなされるべきではありません。この問題を回避しようとすると、Update-Databaseに「[新しい]保留中の変更があるため、現在のモデルと一致するようにデータベースを更新できません...」と表示されます。私がモデルを変更するだけなので、EFの移行が同期しなくなった理由は分かりません。EF追加マイグレーションは「未定の明示的なマイグレーション」を示しますが、更新データベースは「..変更が保留中です。」
5
A
答えて
9
私の問題は、マイグレーション2014123456_Initial.csの名前空間の名前を変更したことでした。
しかし、VSは関連する2014123456_Initial.Designer.csの名前空間を再生成しませんでした。
Designer.csが同じ名前空間を使用するように変更されると、すべてが再び機能し始めました。
+3
ありがとうございます!私は何時間も問題を見つけようと過ごす!同じもの:.Designer.csの名前空間! –
関連する問題
- 1. :別のタスクが保留中のマイグレーション
- 2. iCloudがコアデータ更新の保留中の変更がなくなったときに表示
- 3. ホスト名が変更されました。tfsは保留中の変更やマッピングを表示しません。
- 4. DBへの変更をマイグレーション
- 5. すべてのレールのマイグレーションまたはテーブルのロールバックとマイグレーションの変更
- 6. EFマイグレーションが0にマイグレーションされる初期コールが作成されます
- 7. コメントを書いてWorkItemを保留中の変更ウィンドウに追加します
- 8. レルム:マイグレーションのフィールド名を変更する
- 9. Django - マイグレーションのベースを変更する
- 10. ブール型列がEFマイグレーションでデータベースに保持されないのはなぜですか?
- 11. 追加マイグレーション-ConfigurationTypeNameタイプ
- 12. DOTNET CLI RC2 EFマイグレーション
- 13. ソースツリー内のAndroid Studioの保留中の変更が表示されません
- 14. 変更がなければ保留中の変更を表示するRTCソース管理
- 15. ファイルを変更して表示しないでください(明示的な追加ではステージのみ)
- 16. Eloquentモデルへの変更+マイグレーションが動作しない
- 17. EF多対多カスタム中間テーブルですが、マイグレーションが作成されます2
- 18. EclipseでTFSの保留中の変更ウィンドウが表示される
- 19. は、マイグレーションを追加:System.MissingMethodExceptionを:メソッドはILibraryManager
- 20. EFデータベースのコンテキストが更新を保存しない
- 21. ルームマイグレーションテーブルを新規に追加せずにマイグレーションしなおす
- 22. 追加マイグレーションを実行するとEF 5&VS 11エラーが発生する
- 23. Codeigniterが未定義のデータベースに動的に変更します
- 24. Laravelマイグレーション未定義インデックス
- 25. tf.exe checkinが保留中の変更を検出しません
- 26. モデルコードが変更された後にデータ更新によるマイグレーションを実行
- 27. 1回のマイグレーション変更で複数の列を変更
- 28. データタイプを変更し、データを失うことなくマイグレーションで列を追加する方法は? (laravel 5.3)
- 29. トランザクションメソッドの明示的なflush()は、データベースを更新するかどうかを指定します。
- 30. アイデンティティモデルにプロパティを追加し、データベースをマイグレーションする
どのくらいの助けになるかわからないが、この質問/回答を参照してください:http://stackoverflow.com/questions/16952413/stuck-in-ef-migration-limbo – Steve
ありがとうSteve。この問題は、参照が削除されてからデータベースコンテキストプロジェクトのbinフォルダから再度追加されたときにVS 2013がDLL参照(project-refとは対照的)を正しく更新しないVS 2013のバグによって発生しているようです(Clean Solutionが呼び出された場合でも)。参照プロジェクトのビンは、後続のコンパイルの後でも更新されたデータベースコンテキストDLLを表示しません。したがって、DLLのモデルは、データコンテキストプロジェクトによって既に更新されているデータベースでは古くなっています。 – CalvinDale
あなた自身の質問への回答として投稿する必要があります。他の人がそれを検索すると、あなたの説明が見つかるかもしれません。 – Steve