c# - 从 IOrderedQueryable 转换 IQueryable
问题描述
我正在使用 IQueryable 接口设置 CreateFilteredQuery。我必须返回一个 IQueryable 值,但我通过 OrderBy 函数获得了 IOrderedQueryable。有没有办法将该订单的所有合理数据(不是订单格式和那些不必要的数据)复制到 IQueryable 中?
我几乎尝试了一切。我无法更改返回值,因为这些函数也适用于另一个“过滤器”。
我正在尝试对最初是字符串列但填充了数字的列进行排序,因此我必须先解析为 Int,然后再解析为 orderby。(如果我不这样做,如果我订购结果将是:1 2 20 22 3 而不是 1 2 3 20 22)
我用创建了“tareas” base.CreateFilteredQuery(input)
,并且在解析为 int 之前尝试按 externalId 排序
if (input.Sorting == "externalId asc")
{
var tareasOrdenadas = (tareas.ToList()).OrderBy(t => int.Parse(t.ExternalId));
return tareasOrdenadas;
}
我期望System.Data.Entity.DbSet
or的输出IQueryable
。直到这一刻我有System.Linq.OrdenedEnumerable
或者只是简单地IOrderedEnumerable
PD:当我在其他过滤器中修改“tareas”时,我有一个“System.Linq.IQueryable 类型的 System.Data.Entity.Infrastructure.DbQuery 值”
我需要一个 IQueryable 类型,而不是 IOrderedEnumerable,AsQueryable() 不起作用
PD2:谢谢大家的帮助。很抱歉没有回复,我几天不在办公室。我会尽力你给我的一切,谢谢大家。
快乐编码
解决方案
您可以在 IEnumerable 序列上调用 .AsQueryable() ,它将返回 IQueryable
推荐阅读
- firebase - 如何正确设置 Firebase 实时数据库以避免数组开头出现空值?
- javascript - nodemon - 内部观察失败:ENOSPC:设备上没有剩余空间,观察'/home/user/Documents/github/sendMail-lib/3808.txt
- vba - 将 MSForms.Control 作为 Word VBA 中的参数传递
- sql - 更新 BEFORE DELETE 触发器内的对象无效
- labview - 调用库函数节点错误 1097
- karate - How to match DB query result and API response directly in karate
- node.js - $lookup with nested array of objects
- python - 如何使用 spider.CrawlerRunner() 或 CrawlerProcess() 在 django 视图中调用scrapy spider
- css - css3 选项卡问题中的 css3 选项卡
- angular - 角度为 6 的材料步进器不起作用[在 browser.js 中找不到动画方法]