NHibernate HQL查询:Select子句中的表达式

时间:2009-07-22 16:21:24

标签: .net nhibernate hql

有没有办法在Select子句中使用表达式?

E.g:

选择u.Age / 2 来自用户u

我现在有这个例外:

NHibernate.QueryException:','在SELECT之前预期:/ [从Business.Entities.User u中选择u.Age / 2]

2 个答案:

答案 0 :(得分:2)

你只想得到u.Age的结果除以2?您可以使用HQL,但我发现更改映射文件中的公式属性更容易。

即:

<property name="HalfAge" formula="Age / 2" />

答案 1 :(得分:0)

是的,你可以这样做。查询的结果将是List of Object [],其中数组的每个元素都是列计算的结果。在您的示例中,如果表有10行,那么您将获得10个项目的列表,每个项目都包含一个包含age / 2值的单项Object []。

我将链接到描述此行为的Hibernate文档部分(它有一个特殊的名称,我不记得它是什么),但hibernate.org似乎再次失败。