NHibernate QueryOver <> - функция агрегирования по SubQuery

Как я могу написать следующий оператор SQL, используя синтаксис QueryOver <>?

SELECT COUNT(*) FROM (
    SELECT FirstName,LastName 
    FROM People 
    GROUP BY FirstName, LastName
    ) as sub_t

У меня есть внутренний запрос работает до сих пор:

var q = _session.QueryOver<Person>()
    .SelectList(l => l
        .SelectGroup(x => x.FirstName)
        .SelectGroup(x => x.LastName));

Но я понятия не имею, как обернуть это в подзапрос и получить из него количество строк. Можно ли это сделать?

К сожалению, мой диалект СУБД (MsSqlCe40Dialect) не поддерживает COUNT DISTINCT, поэтому у меня нет возможности использовать SelectCountDistinct ().

6
задан twerq 3 August 2011 в 18:23
поделиться