Как определить порядок сортировки объекта NHibernate ICriteria? - PullRequest
1 голос
/ 05 августа 2009

Каков наилучший способ получения списка заказов, добавленных в объект ICriteria, с помощью метода AddOrder? Я верю, что это должно быть достигнуто с помощью Reflection, но о чем размышлять?

Цель этого состоит в том, чтобы я хотел передать порядок сортировки обратно в пользовательский интерфейс, чтобы пользователь мог предоставить указание порядка сортировки.

1 Ответ

2 голосов
/ 05 августа 2009
var impl = session.CreateCriteria<User>().AddOrder(Order.Asc("Id")) as CriteriaImpl;

foreach (CriteriaImpl.OrderEntry entry in impl.IterateOrderings())
{
Order order = entry.Order;
    // now you have the order and you can either parse it : "propertyName asc" 
                                                         or "propertyName desc"
    // or you can check it out in debug, it has a few protected fields that you could reflect. 
    // not sure if there's another way.
}
...