我正在使用NHibernate使用标准API查询数据库。我的标准如下:
ICriteria c = Session.CreateCriteria(typeof(Transaction));
ProjectionList projections = Projections.ProjectionList();
projections.Add(Projections.Sum("Units"), "Units");
projections.Add(Projections.GroupProperty("Account"), "Account");
projections.Add(Projections.GroupProperty("Security"), "Security");
c.SetProjection(projections);
这工作正常,但是我想要的是一种将查询限制为仅在“Units”属性> 0时才返回的方法。在SQL中,我只是使用
Having Units > 0
子句,但是我无法在NHibernate中找到一种方法来做到这一点。是否有人有任何想法,还是我使用HQL的唯一选择? 最佳答案
您可以从Criteria对象访问ProjectionCriteria。
...
c.SetProjection(projections)
.ProjectionCriteria
.Add(Restrictions.Ge("Units", 0));
编辑:此解决方案当前不起作用,但是它应该在NHibernate 2.1.0中起作用
关于c# - NHibernate Projections和 "Having"子句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/636925/