【发布时间】:2012-10-11 11:12:00
【问题描述】:
所以我正在开发一个自制论坛(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>
有人知道这个的解决方案吗?
【问题讨论】:
标签: c# asp.net linq entity-framework lambda