所以我正在开发一个自制论坛(ASP.net MVC4),我目前正在显示所有论坛,在控制器中我做了这个简单的查询:
return View(db.Forums.ToList());
但现在我希望能够也包括顶帖。(一个论坛实体有一个 Post 集合,Post 有一个 Date,我想按它排序,然后执行 take(1))。
我尝试类似:
return View(db.Forums.Include(z=>z.Posts.OrderBy(x=>x.Date).Take(1)).ToList());
然后我得到错误:
包含路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。参数名称:路径
PS:这是目前的看法
@model IEnumerable<MyProject.Data.Forum>
@{
ViewBag.Title = "Forum Index";
}
<h2>Forums</h2>
<table class="Forum">
<tbody>
<tr>Main forums</tr>
@foreach (var item in Model)
{
<tr class="ForumItem">
<td><a href="Index?id=@item.Id">X</a></td>
<td><p><a href="Index?id=@item.Id">@item.Name</a></p><span>@item.Description</span></td>
<td>@item.PostCount</td>
@foreach(var post in item.Posts)
{
<td>@post.Title</td>
}
</tr>
}
</tbody>
</table>
有谁知道这个的解决方案?