0

プロジェクトで Entity Framework 5 を使用しています。そして、いくつかの新しい機能をテストしたかったのです。

何が起こったのかというと、データベースが更新されていても (移行を追加しても何も追加されません)、プロジェクトを実行しても問題なく動作します。NUNIT でプロジェクトをテストしようとすると、次の例外が発生します。

System.InvalidOperationException : The model backing the 'DbContext' context has changed since the database was created. Consider using Code First Migrations to update the database

この問題を抱えている人はいますか?もしそうなら、どうすれば解決できますか?

4

1 に答える 1

2

まあ、私の元の回答は削除されました。それは、私が同じ問題を抱えているという声明ほど実際には回答ではなかったからだと思います。この時点で、私はある種の答えを見つけたので、おそらくこれは合格するでしょう.

もちろん、私たちは同じ問題を抱えていると仮定していますが、症状がまったく同じであるため、かなり可能性が高いと思われます. 私が発見したのは、MyTestProject.dll.config 命名規則を使用して構成ファイルで「正しく」設定したにもかかわらず、リポジトリの接続文字列が正しく設定されていないことです。何らかの理由で、NUnit が構成からの接続文字列を使用していないようです。

NUnit用にリポジトリを作成するときに、リポジトリに正しい接続文字列を強制する別のコンストラクターを使用する一時的なソリューションをセットアップしました。DI を使用してリポジトリを作成しているため、これを実装するのは簡単で、テスト時にファクトリに別のフレーバーを要求するだけで済みます。NUnit が構成ファイルを使用しない理由を解明するために現在取り組んでいます。

完全な答えではないかもしれませんが、少なくともこの解決策により、テストできる場所に戻りました...これが削除されるかどうかを確認します。

于 2012-11-08T17:54:34.707 に答える