功能NHibernate - 选择特定的列和数量的查询与GROUP BY [英] Fluent Nhibernate - selecting specific column and count query with group by

查看:486
本文介绍了功能NHibernate - 选择特定的列和数量的查询与GROUP BY的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些麻烦excuting用流利的NHibernate的查询。
我有一个表:书籍有以下栏目:

  ID,名称,年份,BOOK_TYPE,AUTHOR_ID 

我要EXCUTE在功能NHibernate下面的SQL查询:

  SELECT BOOK_TYPE,COUNT(*)
从书本
GROUP BY BOOK_TYPE


解决方案

所谓的流利,NHibernate的的仅仅是一个映射扩展。为了获取数据,我们需要NHibernate的内置ñ查询功能:的ICriteria QueryOver 甚至 LINQ



根据文档上我们可以使用预测对于上述情况下,使用 QueryOver API



16.6。 QueryOver - 预测



中的代码片段:

  IList的选择= 
session.QueryOver<图书>()
.SelectList(名单=>清单
。选择(C => c.BooktType)
.SelectCount(C = GT; c.ID))
&的.List LT;对象[]>();


I'm having some trouble excuting a query in fluent nhibernate. I have a table : Books with the following columns:

ID, NAME, YEAR, BOOK_TYPE, AUTHOR_ID

I want to excute the following sql query in Fluent NHibernate:

SELECT BOOK_TYPE, COUNT(*)
FROM BOOKS
GROUP BY BOOK_TYPE

解决方案

So called Fluent-NHibernate is just a mapping extension. To get data we need NHibernate built n querying features: ICriteria, QueryOver or even a LINQ.

Based on the documentation we can use projections for the above case, using the QueryOver API

16.6. QueryOver - Projections

The code snippet:

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

这篇关于功能NHibernate - 选择特定的列和数量的查询与GROUP BY的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆