1
我有一个实体:NHibernate的选择复数总和
class Entity
{
public int A { get; set; }
public int B { get; set; }
public int C { get; set; }
}
我想选择(A-B-C)的总和。所以我想这样的运行SQL:
SELECT SUM(A-B-C) FROM Entity
我可以SqlProjection实现它:
QueryOver.Of<Entity>().Select(Projections.SqlProjection("SUM(A-B-C) AS total", new[] { "total" }, new IType[] { NHibernateUtil.Int32 }));
但我不希望使用的字符串。如何以其他方式完成?
谢谢。您的解决方案适用于我的案例。但我想没有办法处理不同运营商的总和(例如SUM(A-B + C))。这很奇怪,因为'查询().Sum(x => x.A + x.B + x.C)'起作用。不幸的是,我必须使用QueryOver –
那么,您可以定义一个'+'运算符,然后使用'-'调用嵌套它。但是,不理想。 –