.NET核心中的IQueryable OrderBy表达式

时间:2016-06-27 08:22:49

标签: c# iqueryable .net-core

在.Net核心库中,它不允许使用表达式作为参数调用public class Elem { public string Id { get; set; } public static IQueryable<Elem> SortById(IQueryable<Elem> paramSequence) { return paramSequence.OrderBy(x => x.Id); //this gives error } }

这是代码示例:

System.Linq.Expression

我添加了{ "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.5.0-rc2-24027", "System.Linq.Expressions": "4.0.10" }, "frameworks": { "netstandard1.5": { "imports": "dnxcore50" } } } 包。这是我的项目文件:

"/"

有什么想法吗?

1 个答案:

答案 0 :(得分:7)

System.Linq.Expressions包含IQueryable<T>Expression<TDelegate>。但是要使代码生效,您还需要包含IQueryable LINQ扩展方法的类型:Queryable。此类型位于System.Linq.Queryable包中。

由于System.Linq.Queryable取决于System.Linq.Expressions,您可以将project.json中的System.Linq.Expressions行替换为:

"System.Linq.Queryable": "4.0.1-rc2-24027"