Хотя проект, в котором у меня возникла эта проблема, касается другого домена, я нашел метафору, которая может помочь ясно представить мой вопрос:
Допустим, вам нужно было разработать веб-сайт форума, и требовалось, чтобы в представлении сайта по умолчанию отображалось Темы форума , упорядоченные по темам с самым последним Форумом. Сообщения . Как это можно сделать с помощью Linq-to-Nhibernate?
Вот пример того, как эти сущности могут выглядеть:
namespace MvcSandbox.Models
{
public class ForumThread : Entity
{
public virtual string Topic { get; set; }
public virtual IList<ThreadPost> Posts { get; set; }
}
public class ThreadPost : Entity
{
private ForumThread _thread;
public virtual ForumThread Thread
{
get { return _thread; }
}
public virtual DateTime PostDate { get; set; }
public virtual string PostText { get; set; }
}
}
Итак, учитывая IQuerable из ForumThread , как можно использовать Linq для добавления предложения OrdbyBy, которое будет сортировать ForumThreads на основе Max (PostDate) из их сообщений коллекция? И из соображений производительности я пытаюсь найти решение, которое позволит Order By появляться в базе данных, а не в памяти.
Любая информация будет принята с благодарностью.