NHibernate QueryOver: Obtenga un recuento de filas con group by en una subconsulta

Estoy tratando de obtener un recuento de una consulta con un grupo y no puedo encontrar la manera de traducir el SQL que quiero a la sintaxis QueryOver de NHibernate.

Este es el SQL:

select count(*) from
       (select Email from Entry
       where (conditions...)
       group by Email) as tmp

Parece simple ¿verdad?

Así es como trato de hacerlo, pero la llamada RowCount () parece optimizar el grupo por completo:

    var query = _unitOfWork.CurrentSession.QueryOver<ContestEntry>()
        .Select(Projections.Property<ContestEntry>(x => x.Email),
                Projections.Group<ContestEntry>(x => x.Email));

    return query.RowCount();

No me importaría usar Criteria para esto, pero estoy entusiasmado con la nueva (para mí) API QueryOver que me permite alejarme de las cadenas mágicas.

Actualizar

No puedo usar el SQL generado que realiza una consulta distinta dentro de un recuento (por ejemplo, seleccionar recuento (correo electrónico distinto)) ya que esta aplicación se ejecuta en SQL CE.

Ver:http: //social.msdn.microsoft.com/Forums/en-US/sqlce/thread/80a1d7dd-22be-4583-b8f2-fcd8cde5ec53 yhttp: //our.umbraco.org/wiki/install-and-setup/sql-server-ce-4-known-issue ("No se admite el recuento distintivo", aproximadamente 2/3 de la página)

Respuestas a la pregunta(1)

Su respuesta a la pregunta