我需要连接几个表并在cshtml中显示它们,但我遇到了模型问题。我收到错误:
“传入字典的模型项目类型为'System.Data.Entity.Infrastructure.DbQuery 1[DziennikASPTest4.Controllers.PROJEKTYController+ProwadzacyProjekty]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [DziennikASPTest4.Models.ProwadzacyProjekty]'。”
我创建了查询:
var projekt = from p in db.PROJEKTY
join przedm in db.PRZEDMIOTY on p.id_przedmiotu equals przedm.id_przedmiotu
join prow in db.PROWADZACY on przedm.id_prowadzacego equals prow.id_prowadzacego
where prow.id_prowadzacego == 1
select new ProwadzacyProjekty
{
PROJEKTY = p,
PRZEDMIOTY = przedm,
PROWADZACY = prow
};
return View(projekt);
和型号:
public class ProwadzacyProjekty
{
public PROJEKTY PROJEKTY { get; set; }
public PRZEDMIOTY PRZEDMIOTY { get; set; }
public PROWADZACY PROWADZACY { get; set; }
}
我尝试在cshtml中显示它:
@model IEnumerable<DziennikASPTest4.Models.ProwadzacyProjekty>
@foreach (var item in Model)
{
<div>@item.PROJEKTY.opis</div>
}
我应该怎么做?
答案 0 :(得分:0)
在将查询返回到视图之前,使用.ToList()
解析您的查询。
return View(projekt.ToList());
另外,检查新模型的命名空间以确保创建正确的类型而不是生成的实体类型。
select new DziennikASPTest4.Models.ProwadzacyProjekty
{
PROJEKTY = p,
PRZEDMIOTY = przedm,
PROWADZACY = prow
};