vorrei ordinare il mio risultato in questo modo:Ordina per null/non nullo con ICriteria
- prima voglio tutte le righe/oggetti in cui una colonna/proprietà non è nullo, poi tutti in cui la colmn/property è null.
- Quindi voglio ordinare per un'altra colonna/proprietà.
Come posso fare questo con ICriteria? Devo creare la mia classe di ordine o può essere eseguita con il codice esistente?
ICriteria criteria = Session.CreateCriteria<MyClass>()
.AddOrder(Order.Desc("NullableProperty")) // What do I do here? IProjection? Custom Order class?
.AddOrder(Order.Asc("OtherProperty"));
Mi piacerebbe avere un ordine come questo:
NullableProperty OtherProperty
---------------- -------------
1 2
8 7
5 9
NULL 1
NULL 3
NULL 8
Nel mio caso volevo i null ultimi, ma ancora ordinando da NullableProperty per i valori non nulli. Tuttavia, questa è una grande risposta che mi ha ottenuto il 99% del modo in cui ci sono. Per chiunque altro desideri la stessa cosa, basta aggiungere '.AddOrder (Order.Asc (" NullableProperty ")' dopo l'ordine del caso ma prima OtherProperty. –