NHibernate ICriteria - допускает ли сортировка значение null?

Используя NHibernate ICriteria и добавив .AddOrder ... Я хочу отсортировать по свойству, которое иногда имеет значение NULL, со всеми заполненными вверху. Позволит ли .AddOrder мне это сделать? Если нет, есть ли альтернатива?

Возможности сортировки для ILists оставляют желать лучшего.


person Sara Chipps    schedule 29.09.2008    source источник
comment
В .NET 3.5 есть несколько методов расширения для IList ‹T›, которые ставят его в один ряд с List ‹T›. Я думаю, что это проект на codeplex ... посмотрите вокруг.   -  person Ben Scheirman    schedule 30.09.2008


Ответы (2)


Сначала вы должны получить ненулевые значения, используя этот метод. Мы используем сортировку таким образом в моем проекте, и у нас не было проблем с нулевыми значениями ... они перечислены в конце.

person Elie    schedule 29.09.2008

Если вы используете что-то похожее на:

IList cats = sess.CreateCriteria(typeof(Cat))
    .AddOrder( Order.Desc("PropertyName") )
    .List();

Объекты с NULL для данного свойства будут последними в списке.

(Частично взято из документации NHibernate.) < / em>

person wprl    schedule 29.09.2008
comment
Я понимаю, что прошло какое-то время, но эта ссылка не работает. nhforge.org/doc/nh/en/index.html#querycriteria надо это делать. - person JasonCoder; 19.10.2010
comment
Что, если вы отсортируете по .AddOrder( Order.Desc("NullableProperty.GrandchildProperty"))? Можете ли вы получить все родительские объекты, даже если null вместо NullableProperty? - person Michael; 10.12.2015