簡體   English   中英

OrderByDescending 在我的 LINQ 查詢中不起作用

[英]OrderByDescending not working in my LINQ query

我遇到了一個查詢問題,我試圖通過降序對結果進行排序,但它沒有這樣做。 我在stackoverflow上瀏覽了幾篇類似問題的帖子,但似乎沒有一個解決方案有效。 我想知道是否有人可以指出我的代碼有什么問題。 以下是與問題相關的查詢部分:

from followup in ctx.FollowUps
    .Where(f => f.DestEntityId == user.Id 
           && f.DestEntityType == (int)ContactEntityTypeEnum.User)
    .OrderByDescending(x => x.AddDate)
select new
{ 
    user = new { Firstname = user.Firstname },
    followup = new { followup.NextFollowUpDate }
});

我也嘗試在 .OrderByDescending() 之前添加 .ToList() 但這也沒有解決問題。

跟進@SILENT 和@D.Shih 的評論,您的 Linq 表達看起來有點奇怪。

var followUps =  ctx.FollowUps
    .Where(f => f.DestEntityId == user.Id 
           && f.DestEntityType == (int)ContactEntityTypeEnum.User)
    .OrderByDescending(x => x.AddDate)
    .Select(x => new
    { 
        UserFirstname = user.Firstname,
        AddDate = x.AddDate,
        FollowupDate = x.NextFollowUpDate
    }).ToList();

這將按 AddDate 而不是 NextFollowUpDate 對結果進行排序,因此我將 AddDate 添加到輸出中只是為了避免兩者之間的混淆,因為我不知道您如何評估它們不是僅基於看到 NextFollowUpDate。 我不建議將 LinQL (from/where/select) 與 Fluent 方法混合使用。 (以上)

以單獨的匿名類型返回每個單獨的屬性似乎沒有意義,只需將其扁平化為一個包,因為匿名類型旨在用於短暫的生命和立即消耗。

暫無
暫無

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

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