Порядок пустым/не пустым указателем с ICriteria

Я хотел бы отсортировать свой результат как это:

  • Сначала я хочу все строки/объекты, где столбец/свойство не является пустым, затем все, где colmn/property является пустым.
  • Затем я хочу отсортировать по другому столбцу/свойству.

Как я могу сделать это с ICriteria? Я должен создать свой собственный класс Порядка, или он может быть сделан с существующим кодом?

ICriteria criteria = Session.CreateCriteria<MyClass>()
  .AddOrder(Order.Desc("NullableProperty")) // What do I do here? IProjection? Custom Order class?
  .AddOrder(Order.Asc("OtherProperty"));

Я хотел бы иметь порядок как это:

NullableProperty  OtherProperty
----------------  -------------
1                 2
8                 7
5                 9
NULL              1
NULL              3
NULL              8
5
задан Kristoffer 9 April 2010 в 13:32
поделиться

1 ответ

Я ничего не знаю об ICriteria, но вот мысль. Вы можете попробовать использовать собственный SQL для загрузки - другими словами, блок в вашем отображении, который дает вам сортируемый столбец. В Oracle это будет примерно так:

<sql-query ...>
  <return ...>
  select *, nvl2(my_column, 1, 0) as not_null
  from my_table
  where id=?
  for update
</sql-query>
0
ответ дан 13 December 2019 в 19:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: