簡體   English   中英

如果number沒有值,它應該放在最后(LINQ)

[英]If number have no value it should placed last(LINQ)

我正在使用linq to sql,我的代碼如下所示:

 var agendaLists =
                        dataContext.view_Agendas.Where(m => m.MeetingID == meetingID)
                            .OrderBy(n => n.Number)
                            .ThenBy(n => n.CaseNumber)
                            .ThenByDescending(s => s.MainYN)
                            .ToList();

所以基本上我們的“n.Number”是訂單號。 一切正常,其分類1,2,3,4等是正確的。 但如果一個對象在n.Number中沒有值,它將顯示在頂部,但我希望它被放在最后。

今天這樣排序,讓我們說我們得到4個對象:

Null, 1, 2, 3

我希望它像這樣排序:

1, 2, 3, Null

任何形式的幫助表示贊賞。

嘗試以下方法:

n => n.Number ?? int.MaxValue

我不記得你是否真的要檢查DBNull ,但它會是一樣的。

您可以使用這種方法,假設Number是一個int?

var agendaLists = dataContext.view_Agendas
    .Where(m => m.MeetingID == meetingID)
    .OrderBy(m => n.Number.HasValue ? 0 : 1)
    .ThenBy(n => n.Number)
    .ThenBy(n => n.CaseNumber)
    .ThenByDescending(s => s.MainYN)
    .ToList();

暫無
暫無

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

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