戻って、以前の移行にロールの更新とデータベースを実行している、ソースコントロールに支店を変更した後、EFは時々下記のように、テキスト「元に戻す自動移行」を表示します。「自動移行を元に戻す」とはどういう意味ですか?
Reverting automatic migration: 201305171619008_DescriptiveNameForMigration.
Reverting code-based migration: 201305162023299_Init.
どのようにEntity Frameworkのは、あることを決定しました移行は自動的に行われるべきですし、それはどういう仕組みですか?
は、ここでは、コード最初の移行すでにセットアップとプロジェクト持っていると仮定し、それを再現する方法は次のとおりです。
- スイッチ、および バックデフォルト枝に
- スイッチ移行
- アップデート - データベースを追加、更新、データベース-TargetMigration:0 -Force
- Update-Databaseコマンドの結果の「自動マイグレーションを元に戻す」を参照してください。
これは私が間違っていると私が訂正してくれるものです。
- アップデート - データベースが__MigrationHistory
- でマイグレーションを列挙するには、対応する移行ファイルが存在しない場合は、それが最善を行い、プロジェクトに対応した移行ファイルを検索し、ダウン()メソッド
- を呼び出しますあなたが移行を足場場合は、Entity Frameworkのは__MigrationsHistoryに記録された最後のモデルと現行モデルとの差分を実行し、MIGRATを作成します
私はあなたがうまく起こるが記載されていると思います。 –
はあなたに戻って戻っコードでダウン方式ましたか?その後、MigrationHistoryテーブルにあったバージョンを取得するためのパスがありました。あなたが思っていたようなものはありませんか? –
右のコードファイルが移行のために存在する場合は、Down()メソッドを使用します。私は、コードファイルが存在しないときにマイグレーションを元に戻すときに、「自動マイグレーションを元に戻す」がどのように機能するのだろうかと思います。 (おそらく、それは新しいSOの質問に適しています)あなたも、「自動マイグレーションを元に戻す」とは、その場でDown()メソッドを生成するということですか? –