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 回答