代码之家  ›  专栏  ›  技术社区  ›  Mark Struzinski

从NHiberiate中获得总的结果的最好方法是什么?

  •  2
  • Mark Struzinski  · 技术社区  · 16 年前

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

    2 回复  |  直到 16 年前
        1
  •  2
  •   mspmsp    16 年前

    您可以通过nhibernate直接运行查询。或者添加额外的order-by-info,使结果对象通过您感兴趣的参数按顺序排列。降序,您的第0个元素是您想要的最大值和最小值。等等。有不止一种方法可以剥冬眠猫的皮。

        2
  •  2
  •   kÍ©eÍ£mÍ®pÍ¥ Í©    16 年前

    如果需要查询以进行报告,请使用预测。

    类似:

    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 Documentation (向下2/3)