5

CodeFirstはデータベースの完全な制御権を持っていない場合に宿題をやめているようです。 このシナリオはArvixe.comでホストされているWebサイト(または他の共有ホスティングサーバーと思われます)で、コントロールパネルからのみデータベースを作成する必要があります(Sql Server Management Studioではなく...) 。add-migrationは共有ホスティングのリモートSQLサーバデータベースでは機能しません

アドオン移行M1の-TargetDatabaseのMyConnectionと

これが私の最初の移行を正しく生成します。 は一度、私はウェブサイトでの接続を登録して、私は同じようPOCOオブジェクトからデータベースを生成するために使用する空のデータベースを作成しました、私は

更新データベース

MyConnectionと-TargetDatabase最初の懸念、あまり重要でないと問題なく適用することができ、データベースが既存しているので、それは種子コマンドを発行しないだろうということですので、私はする必要があります私の最初のレコードを手で挿入するが、これは大きな問題ではありません。

その後、私は私のPOCOオブジェクトを変更し、私は、データベースを更新する必要があるが、私はMyConnectionと

-TargetDatabase ANOTHER

アドオン移行を平方メートルを発行したとき、それはエラーを与える:

システム。 Data.Entity.Migrations.MigrationsPendingException:次の明示的な移行が保留中であるため、明示的な移行を生成できません:[201111081426466_m1]。新しい明示的な移行を生成する前に、保留中の明示的な移行を適用してください。

私はデータベースを見れば、私もテーブル__MigrationHistoryを見ることができるので、これは、本当に奇妙ですが、それはそれを認識できないようにそれが見える...

同じ問題を持つ誰でも、またはいくつかの良いです調査する場所にヒント? ありがとうございます。 Andrea Bioli

+1

投稿後すぐに、テーブル__MigrationHistoryがシステムテーブルとして作成されていないことに気づきました.2回目はそれが見つからないことが明らかです...問題は次のようになります適切な場所にテーブルを書く権利がある... – Andrea

答えて

1

この問題がありました。私は、Update-DatabaseAdd-Migrationコマンドの両方にconnectionStringconnectionProviderNameパラメータを指定することで解決できました。

ソリューションに複数の設定ファイルがあるプロジェクトがたくさんある場合、パッケージマネージャーは混乱しているようです。私の場合は、Package Manager Consoleのデフォルトプロジェクトとして1つのプロジェクトが選択されていましたが、代わりにVisual Studioソリューションのデフォルトの起動プロジェクトから接続文字列を取得していました。

関連する問題