如何在HQL中指定列别名,以便我可以将AliasToBeanResultTransformer与Count一起使用

时间:2011-02-08 04:11:33

标签: nhibernate hql

使用NHibernate,我想运行以下查询:

return Session.CreateQuery<FooSummary>(
    @"select FooType, count(*) as Total from Foo
      group by FooType")
    .SetResultTransformer(new AliasToBeanResultTransformer(typeof(FooSummary)))
    .List<FooSummary>();

classess是:

class FooSummary { string FooType, int Total };
class Foo { string FooType };

但是,似乎HQL不支持列别名。它是否正确?如果是这样,这是否意味着我不能使用AliasToBeanResultTransformer?

2 个答案:

答案 0 :(得分:2)

支持支持别名:

select FooType FooType,
       count(*) Total
from Foo
group by FooType

您是否收到此查询的任何错误?如果是这样,请发布完整的例外。

答案 1 :(得分:2)

直到nhib的nhibernate 2.1.2 别名被borked。它适用于非常特定的场景,但它不值得信任