NHibernate:按子(孩子......)属性对结果进行排序

时间:2012-06-21 00:55:38

标签: sql hibernate nhibernate

我正在尝试为一个可能比我意识到的要复杂得多的问题构建一个通用解决方案。

为简单起见,请考虑我有以下界面:

PagedResult<T> ToPagedResult<T>(this ICriteria, criteria, string sortName);

sortName理想情况下是一种json风格的访问路径。例如:Registration.Class.Curriculum.Description,其中description是我们要排序的属性。

如果我想对Class的属性进行排序,我已成功完成以下任务:

ICriteria pageCriteria = criteria.CreateCriteria("Class", "Class").AddOrder(Order.Desc(sortName));

在这种情况下,sortName可能等于“Class.Name”。

现在,有没有办法让我可以随意对更深的孩子进行排序?

1 个答案:

答案 0 :(得分:0)

ICriteria pageCriteria = criteria
    .CreateCriteria("Class", "Class")
    .CreateCriteria("Class.Foo", "Foo")
    .AddOrder(Order.Desc("Foo.Bar"));