Совокупный запрос NHibernate для отношения один ко многим

У меня есть следующие объекты:

<code>class Topic
{
    public virtual int Id {get; private set;} 
    public virtual ICollection<Vote> Votes {get; private set; }
}

class Vote
{
    public virtual Topic Topic {get; private set;}
    public virtual VoteType VotedTo {get; private set;} // enum VotedUp, VotedDown
}
</code>

Мне нужно загрузить из БД следующую информацию - все темы (идентификаторы, фактически имена, но в этом демонстрационном случае это не имеет значения) и еще два поляCountOfVotedUp, CountOfVotedDown (aggregates), Так что, как я понимаю, в мире SQL нам нужны объединения, группировка, регистр и количество.

Можно ли получить эту информацию с помощью LINQ с меньшим количеством операций с БД? Я имею в виду N + 1, дополнительные выборки, соединения и т. Д.

Все, что я пытался, - это использовать LINQ от NH, но он собирает запросы только по Topic.Id, и я не смог сосчитать ни одного из голосований.

Ответы на вопрос(1)

Ваш ответ на вопрос