[英]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.