NHibernate QueryOver: obtenha uma contagem de linhas com o grupo em uma subconsulta
Estou tentando obter uma contagem de uma consulta com um grupo e simplesmente não consigo descobrir como traduzir o SQL que desejo na sintaxe QueryOver do NHibernat
Este é o SQL:
select count(*) from
(select Email from Entry
where (conditions...)
group by Email) as tmp
Parece simples né?
É assim que estou tentando fazer isso, mas a chamada RowCount () parece otimizar o grupo completament
var query = _unitOfWork.CurrentSession.QueryOver<ContestEntry>()
.Select(Projections.Property<ContestEntry>(x => x.Email),
Projections.Group<ContestEntry>(x => x.Email));
return query.RowCount();
Eu não me importaria de usar Critérios para isso, mas estou empolgado com a nova API QueryOver (para mim) que me permite evitar seqüências de caracteres mágica
Atualizar
Não consigo usar o SQL gerado que faz uma consulta distinta em uma contagem (por exemplo, selecionar contagem (email distinto)), pois esse aplicativo é executado no SQL C
Vejo:http: //social.msdn.microsoft.com/Forums/en-US/sqlce/thread/80a1d7dd-22be-4583-b8f2-fcd8cde5ec53 ehttp: //our.umbraco.org/wiki/install-and-setup/sql-server-ce-4-known-issue ("Contagem distinta não é suportada", cerca de 2/3 do caminho abaixo na página)