最近EF4.3.1から4.4にアップグレードしたところ、奇妙なことが起こり始めました。アップグレードしてからコードに触れたので、この問題の原因が100%確実であるとは言えません。
とにかく、既存のデータベースを吹き飛ばしてPMコンソールからUpdate-Databaseを呼び出すと、データベースが作成されますが、コンテキストの完全修飾名が使用されます。つまり、MyProject.Data.MyContext。以前は、MyContextというデータベースを作成しただけでした。テスト目的でデータベース内の大量のデータを初期化できますが、アプリを実行すると、データベースに何もないと表示されます。
データベースを見ると、(過去のように)MyContextという別のデータベースがあることがわかります。そのデータベースのテストデータを初期化すると、アプリは正常に実行され、データが表示されます。
OnModelCreatingメソッドをオーバーライドしています。基本的には次のようになります。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{//My modelBuilder stuff.
base.OnModelCreating(modelBuilder);}
この方法はあまり変わっていないので、それが原因ではないと思います。誰かが以前にこの問題に遭遇したことがありますか?私のコードをもっと投稿してほしい場合はお知らせください。