0

我需要在 nhibernate 上执行本机 sqn 并从报告所需的复杂查询中获取总和。sql 查询只返回一个浮点值作为总和。

float theSum= session.CreateSQLQuery(@"select sum(myfield) myfield from ....")
                               .AddScalar("myfield", NHibernateUtil.Single)
                               .UniqueResult<float>();

这个可以吗 ?
有没有其他方法可以做到这一点?我猜这个自动将 null 值转换为 0。

4

1 回答 1

0

我已经仔细检查了代码,它确实包含将 null 显式转换为 0 - 如果您想查看/处理 0 和 null 之间的差异,您应该使用 <float?>。

您可能还想查看命名查询作为替代方案:http: //nhibernate.info/doc/nh/en/index.html#querysql-namedqueries

于 2013-01-06T16:33:12.243 回答