我有一个模型,其中包含日期时间字段和价格字段。 我想要一个列表,其中包含月/年的汇总 - 价格 所以对于数据:
- 2012年1月15日200
- 2012年1月16日200
- 2012年2月15日300
- 2012年2月16日 300
- 2012年3月15日400
- 2012年3月16日400
我会得到:
- 01/2012 400
- 02/2012 600
- 03/2012 800
到目前为止,我还没有找到使用 QueryOver 实现此目的的方法。 当我尝试查看日期的月/年部分时,我不断收到“无法解析属性”的消息。
这些问题:
Group posts by year, then by month
Group/Sort by Date Year/Month, Partial Select with NHibernate (Projection? Transformation?)
使用 LINQ 得到答案 - 不是我正在寻找的。p>
有什么想法吗? 谢谢
(使用 NHibernate 3.2)
最佳答案
QueryOver 不是一个好的选择,因为分组需要使用 SQL 表达式来完成。对于这种类型的查询,QueryOver 只是一个毫无意义的抽象,不会增加任何值(value)。
如果您必须使用 QueryOver 来执行此操作,您可以执行以下操作:
session.QueryOver<...>()
.SelectList(list => list
.Select(GroupProperty(Projections.SqlProjection(...)))
.SelectSum(x => x.Price)
);
关于c# - 使用 queryover 按月和年部分进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015732/