i.I-6ren">
gpt4 book ai didi

c# - 尝试使用 IQueryable 自定义 OrderBy - "Skip"方法错误

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:22 25 4
gpt4 key购买 nike

我的代码的第一部分获取 IQueryable 数据结果:

var issues = repository.GetAllIssues().Where(i => 
i.IssueNotificationRecipients.Any(r => r.Status == "Open"));

然后我确定用户请求的排序顺序,并添加它:

switch (sort)
{
case 1:
issues.OrderBy(x => x.Customer);
break;
case 2:
issues.OrderBy(x => x.Description);
break;
case 3:
issues.OrderBy(x => x.CreatedBy);
break;
default:
issues.OrderBy(x => x.DueDateTime);
break;
}

这会引发错误:

The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'

那么我如何动态添加 OrderBy 以响应用户的输入?

最佳答案

你的意思是

switch (sort)
{
case 1:
issues = issues.OrderBy(x => x.Customer);
break;
case 2:
issues = issues.OrderBy(x => x.Description);
break;
case 3:
issues = issues.OrderBy(x => x.CreatedBy);
break;
default:
issues = issues.OrderBy(x => x.DueDateTime);
break;
}

您可能需要更改 issues 的类型,或将其设置为新变量,因为它返回 IOrderedQueryable<T>

关于c# - 尝试使用 IQueryable 自定义 OrderBy - "Skip"方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com