Совокупный запрос 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, и я не смог сосчитать ни одного из голосований.