Есть вьюшка, в модель которой получаю все разделы форума. Далее прохожу по всем разделам и вывожу по 3 последних темы для каждого раздела, а у каждой из 3х тем дату последнего сообщения и имя автора.
@foreach (AuthorizationNew.Models.Section sc in Model)
{
<div id="ThemeName">@Html.ActionLink(@sc.SectionName, "GetSection",
new { idSection = @sc.Id })</div>
foreach (AuthorizationNew.Models.Theme th in
sc.Theme.OrderByDescending(m => m.ThemeDate).Take(3).ToList())
{
<div class="Thems">
@Html.ActionLink(@th.ThemeName, "GetTheme", new { idTheme = @th.ThemeId })
@if (th.FMessage.Count > 0)
{
@th.FMessage.OrderByDescending(m => m.ForumMessageId).FirstOrDefault().MessageDate
@:От @th.FMessage.OrderByDescending(m => m.ForumMessageId).FirstOrDefault().User.DisplayName
}
</div>
}
}
В моменте
@th.FMessage.OrderByDescending(m => m.ForumMessageId).FirstOrDefault().MessageDate
@:От @th.FMessage.OrderByDescending(m => m.ForumMessageId).FirstOrDefault().User.DisplayName
я два раза фильтрую список и получаю один и тот же последний обьект. Как можно оптимизировать эту часть, не перенося логику выборки элементов в контроллер?