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);