繁体   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