.NET 核心中的 IQueryable OrderBy 表达式
IQueryable OrderBy expression in .NET core
在 .Net 核心库中,它不允许使用表达式作为参数
调用 IQueryable.OrderBy
这是代码示例:
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"
}
}
}
有什么想法吗?
软件包 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"
在 .Net 核心库中,它不允许使用表达式作为参数
调用IQueryable.OrderBy
这是代码示例:
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"
}
}
}
有什么想法吗?
软件包 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"