Основная проблема в том, что вы не назначаете LastComment. Без связи, установленной в базе данных, он не знает, как заполнить этот объект.
Вам необходимо вручную назначить комментарий:
IQueryable<ForumTopic> query = from topic in context.ForumTopics
orderby topic.IsSticky, topic.CreatedDate descending
select new ForumTopic
{
ForumTopicId = topic.ForumTopicId,
OwnerId = topic.OwnerId,
// .. etc
LastComment = topic.Comments.OrderByDescending(c => c.CreatedDate).FirstOrDefault();
};
Очевидно, я предполагаю, что между темой и комментариями есть отношения между родителями и детьми. Если вы этого не сделаете, вы должны пересмотреть, как вы используете linq: p