首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linq to NHibernate多个OrderBy调用

您好!您提到的 Linq to NHibernate 是一个用于将 LINQ 查询表达式转换为 NHibernate 查询的库。关于多个 OrderBy 调用,您可以使用 ThenBy 或 ThenByDescending 方法来实现。

在 LINQ 查询中,您可以使用 ThenBy 或 ThenByDescending 方法来指定多个排序条件。例如:

代码语言:csharp
复制
var query = from item in session.Query<Item>()
            orderby item.Category, item.Price descending
            select item;

这个查询将首先按照 Category 属性进行排序,然后在同一类别中按照 Price 属性进行降序排序。

如果您使用的是 QueryOver 查询,则可以使用 ThenOrderBy 或 ThenOrderByDescending 方法来实现多个排序条件。例如:

代码语言:csharp
复制
var query = session.QueryOver<Item>()
                   .OrderBy(x => x.Category).Asc
                   .ThenOrderBy(x => x.Price).Desc;

这个查询将首先按照 Category 属性进行排序,然后在同一类别中按照 Price 属性进行降序排序。

希望这个答案能够帮助您解决问题!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Entity Framework 和NHibernate的区别

从个人感受上看,NHibernate显然是从上而下(Top-down)的方式,天然的POCO支持就是最好的佐证。而ADO.NET Entity Framework目前v1版本,应该是从下而上的方式Bottom-up),ADO.NET Entity Data Model Wizard就是最好的佐证。Entity Framework v2支持POCO之后也就能实现垂直双方向的支持,但这如我后面所说,还不够。 至于从里到外(Inside-out),从外向里(Outside-in)是真正显示ORM工具或E/R模型编程模型威力的地方,因为99%的现实世界,以及数据库都不是同步也无法保持同步的,那么提供从里到外,从外向里两个方向的支持是非常重要的。 其实ORM和DP的存在就是要实现这两个方向的能力和支持,否则就没有存在的必要,因为自上而下(Top-down)和自下而上(Bottom-up)两种方式由来已久,解决这两个方向的问题,ORM工具或E/R模型编程未必是最好的方式,原因是这两种方向和思考比较不客观,那就是假设现实世界和数据有一方是不变的,或是我们自己可以控制的,事实上,这种想法是不现实的。

05
领券