NHibernate: Получите отличные результаты на основе столбца, но получите все столбцы

У меня есть таблица GL, которая содержит GLCode. Я должен получить список уникального GLCodes, но получить все другие столбцы. Следующий SQL приводит к результатам, которые я хочу.

select * from GL where GLId in (select Min(GLId) from GL group by GLCode )

Существует ли способ сделать это использование Критериев API?

Это - моя лучшая попытка:

        var subQuery = DetachedCriteria.For<GL>();
        subQuery
            .SetProjection(Projections.Property("GLCode"))                
            .SetResultTransformer(new DistinctRootEntityResultTransformer());

        return (List<GL>)currentSession
            .CreateCriteria(typeof(GL))
            .Add(Subqueries.PropertyIn("GLCode", subQuery))
            .List<GL>();   
6
задан Alistair 13 January 2010 в 04:03
поделиться