Tôi muốn sắp xếp kết quả của tôi như thế này:Sắp xếp theo null/không null với ICriteria
- Trước tiên tôi muốn tất cả các hàng/đối tượng, nơi một cột/tài sản không là null, sau đó tất cả các nơi colmn/property là null.
- Sau đó, tôi muốn sắp xếp theo một cột/thuộc tính khác.
Tôi làm cách nào với ICriteria? Tôi có phải tạo lớp Đặt hàng của riêng mình hay nó có thể được thực hiện với mã hiện tại không?
ICriteria criteria = Session.CreateCriteria<MyClass>()
.AddOrder(Order.Desc("NullableProperty")) // What do I do here? IProjection? Custom Order class?
.AddOrder(Order.Asc("OtherProperty"));
Tôi muốn có một trật tự như thế này:
NullableProperty OtherProperty
---------------- -------------
1 2
8 7
5 9
NULL 1
NULL 3
NULL 8
Trong trường hợp của tôi, tôi muốn nulls cuối cùng, nhưng vẫn được đặt hàng bởi NullableProperty cho các giá trị không null. Tuy nhiên, đây là một câu trả lời tuyệt vời mà đã cho tôi 99% con đường ở đó. Đối với bất kỳ ai khác muốn như vậy, chỉ cần thêm vào '.AddOrder (Order.Asc (" NullableProperty ")' sau khi đặt hàng trường hợp nhưng trước OtherProperty. –