C# Fluent Nhibernate-使用group by选择特定列和计数查询

C# Fluent Nhibernate-使用group by选择特定列和计数查询,c#,nhibernate,fluent-nhibernate,queryover,nhibernate-criteria,C#,Nhibernate,Fluent Nhibernate,Queryover,Nhibernate Criteria,我在用流利的nhibernate执行查询时遇到一些问题。 我有一张桌子:有以下列的书: ID, NAME, YEAR, BOOK_TYPE, AUTHOR_ID 我想在Fluent NHibernate中执行以下sql查询: SELECT BOOK_TYPE, COUNT(*) FROM BOOKS GROUP BY BOOK_TYPE 所谓的Fluent NHibernate只是一个映射扩展。为了获取数据,我们需要NHibernate内置的查询功能:ICriteria、QueryOver甚

我在用流利的nhibernate执行查询时遇到一些问题。 我有一张桌子:有以下列的书:

ID, NAME, YEAR, BOOK_TYPE, AUTHOR_ID
我想在Fluent NHibernate中执行以下sql查询:

SELECT BOOK_TYPE, COUNT(*)
FROM BOOKS
GROUP BY BOOK_TYPE
所谓的Fluent NHibernate只是一个映射扩展。为了获取数据,我们需要NHibernate内置的查询功能:
ICriteria
QueryOver
甚至LINQ

根据文档,我们可以使用
QueryOver
API为上述情况使用投影

代码片段:

IList selection =
    session.QueryOver<Book>()
        .SelectList(list => list
            .Select(c => c.BooktType)
            .SelectCount(c => c.ID))
        .List<object[]>();
IList选择=
session.QueryOver()
.SelectList(list=>list
.Select(c=>c.booktype)
.SelectCount(c=>c.ID))
.List();