簡體   English   中英

在nhibernate中排序整數或十進制列

[英]sorting integer or decimal column in nhibernate

我正在嘗試對十進制或整數列進行排序。 但是在排序升序為零時排在最后。

代碼是:

criteria.AddOrder(Order.Asc(Projections.Cast(NHibernateUtil.Decimal,  Projections.Property("cloumn1")))));

輸出:

35342860
36870852
87654321
213123213
0
0

代碼有問題嗎? 或什么是解決方案?

這些很可能是空值。 您可以查看使用條件限制,或將其設置為默認值0的不可為空的列,這似乎正是您所追求的。

有條件的限制就是這樣

.AddOrder
    (
        Order.Asc
        (
            Projections.Conditional
            (
                Restrictions.IsNull("cloumn1"),
                Projections.Constant(1),
                Projections.Constant(0)
            )
        )
    )

如果您按第一順序輸入,則會將null放在頂部並顯示為0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM