我正在尝试为可能比我意识到的要复杂得多的问题构建通用解决方案。
为简单起见,考虑我有以下界面:
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”。
现在,有没有一种方法可以任意允许对更深的孩子进行排序?