我有一列需要从IQueryable返回的结果集中派生。我也想对该列进行排序。我该怎么做??
var opportunities = this.GetUserOpportunitiesByQuery(request, statusOpp)
.Include(x => x.CompanyId__Parent)
.Include(x => x.ApprovalStatus__Parent)
.Include(x => x.OpportunityStatus)
.Include(x => x.MeetingType__Parent);
在结果中存在的列上,我们对它们进行如下排序:-
var sortBy = request.SortBy?.FirstOrDefault();
if (sortBy != null)
{
var asc = sortBy.Direction == SortingDirection.Ascending;
switch (sortBy.PropertyName.ToLower())
{
case "name":
opportunities = asc
? opportunities.OrderBy(c => c.Name)
: opportunities.OrderByDescending(c => c.Name);
break;
var results = opportunities.Skip(request.Skip).Take(request.Take).ToList();
我需要对派生列执行与上述相同的操作。我可以有一个函数来派生并调用它。我只是不清楚我们如何做到这一点。
我知道我可以执行.ToList()并计算派生的列并对其进行排序。但是我认为这样可以在内存中对查询进行排序。我可以使用IQueryable做到这一点吗?