例如,我试图在不同情况下获取最小日期、最大日期和总和。我试图避免对 SQL 字符串进行硬编码或通过 IList 循环来获取这些值。
Mark Struzinski
问问题
1880 次
2 回答
2
您可以通过 NHibernate 运行直接查询。或者按信息添加其他顺序,以便通过您感兴趣的参数对结果对象进行排序。降序排列,您的第 0 个元素是您想要的最大值和最小值。等等等等。给冬眠的猫剥皮的方法不止一种。
于 2008-10-14T14:29:48.460 回答
2
如果您需要查询报告,请使用预测。
就像是:
Session.CreateCriteria ( typeof ( Order ) )
.Add ( Restrictions.Between ( "DateReceived" , today.AddMonths ( -1 ) , today ) )
.CreateAlias ( "Lines" , "lines" )
.SetProjection (
Projections.ProjectionList ( )
.Add ( Projections.Sum ( "lines.TotalCost" ) )
.Add ( Projections.Avg ( "lines.TotalCost" ) )
.Add ( Projections.GroupProperty ( "Customer" ) )
) ;
Nhibernate 文档中有更多内容(下降了 2/3)
于 2008-10-17T15:53:06.467 回答