0

問題:

例外の詳細: System.InvalidOperationException: ディクショナリに渡されたモデル項目の型は 'System.Data.Entity.Infrastructure.DbQuery`1[System.Int32]' ですが、このディクショナリには型 'migros.Models.州'。

私がやろうとしていること

次の linq クエリの結果をビューに渡す必要があります。

using (var db = new migros_mockEntities1())
        {
            var listOfIdeas = (from x in db.States select x.ID); 

            return View(listOfIdeas);
        }

ビューには が必要IEnumerableですが、linq クエリの結果を にキャストできないようIEnumerableです。私はエンティティ フレームワーク データベースの最初のアプローチを使用しています。

4

1 に答える 1

1

問題は、using ブロック内から ObjectQuery を返そうとしていることです。オブジェクトセットを具体化してみてください

var listOfIdeas = (from x in db.States select x.ID).ToList(); 

また、コンテキストを扱うのは難しい場合があることを忘れないでください。あなたの場合var listOfIdeas = (from x in db.States select x.ID)は単なるクエリであり、反復処理を開始したときにのみ実行されます。したがって、 context が既に破棄されている場合は、例外が発生し、使用しようとしますlistOfIdeas

于 2012-08-09T09:03:21.210 に答える