だから私は自作のフォーラム(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>
誰でもこれに対する解決策を知っていますか?