我正在使用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中工作