我在方法中有这个:
var Student = _db.Students.Join(_db.StudentGrades, s => s.ENumber,
sg => sg.StudentENumber, (s, sg) => new { Student = s, StudentGrade = sg })
.Where(sc => sc.StudentGrade.LetterGrade == "A").Select(sgl => new SCourse
{
LastName = sgl.Student.LastName,
CourseCode = sgl.StudentGrade.CourseCode,
CourseNumber = sgl.StudentGrade.CourseNumber
});
return View(Student.AsEnumerable());
}
当我在视图中查看预期结果时,我收到一条错误消息,说它作为查询发送到视图,而不是作为可枚举。
The model item passed into the dictionary is of
type 'System.Data.Entity.Infrastructure.DbQuery`1[Practice.ViewModels.SCourse]',
but this dictionary requires a model item of
type 'System.Collections.Generic.IEnumerable`1[Practice.ViewModels.AllStudents]'.
为什么会尝试说它正在接收查询项而不是可枚举的?
以下是View的开头,如果这可能与它有关:
@model IEnumerable<Practice.ViewModels.AllStudents>
答案 0 :(得分:2)
使用
@model IEnumerable<Practice.ViewModels.SCourse>
而不是
@model IEnumerable<Practice.ViewModels.AllStudents>
您通过了名为 SCourse 的模型。但在视图文件中,您需要模型 AllStudents ,这就是您收到此错误的原因。