2

例如,我试图在不同情况下获取最小日期、最大日期和总和。我试图避免对 SQL 字符串进行硬编码或通过 IList 循环来获取这些值。

4

2 回答 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 回答