Linq OrderByDescending不工作

Linq OrderByDescending不工作,linq,group-by,Linq,Group By,我正在进行如下查询: 加入 public IEnumerable<ProblemsViewModel_Base> GetProblemsSearchClassification(string searchTerm) { var subjectProblems = from p in aux_problem join sub in Subject on p.aux_ClassificationID.Id equal

我正在进行如下查询:

加入

public IEnumerable<ProblemsViewModel_Base> GetProblemsSearchClassification(string searchTerm)
    {
        var subjectProblems =
            from p in aux_problem
            join sub in Subject on p.aux_ClassificationID.Id equals sub.Id
            where sub.Title.Contains(searchTerm)
            orderby p.CreatedOn descending
            select new ProblemsViewModel_Base
            {
                aux_CustomID = p.aux_CustomID
                ,
                Id = p.aux_problemId.Value
                ,
                title = p.aux_name
                ,
                CreatedOn = p.CreatedOn.Value
            };

        return subjectProblems;
    }
我的问题是,当我在结果中与第二个查询(没有联接的查询)进行并集时,结果没有排序,但是如果我避免此查询,使用联接对所有查询进行并集,则结果会排序

这里的问题是什么?谢谢

根据我的经验 .Union()
.Distinct() 还有一些人会撤销订单 在呈现结果之前尝试排序,但在完成所有代码之后


请反馈

我发现解决方案修改了比较,如下所示:

var distinctResults = joinedResults.GroupBy(p => p.Id).Select(p => p.First()).OrderByDescending(p => p.CreatedOn);
我在所有查询中都注释掉了OrderBy,因为我是在后面做的,我想如果没有它,查询会更快

var joinedResults = detailsResults.Union(requestorResults).Union(classificationResults);
var distinctResults = joinedResults.GroupBy(p => p.Id).Select(p => p.First())
var distinctResults = joinedResults.GroupBy(p => p.Id).Select(p => p.First()).OrderByDescending(p => p.CreatedOn);