. net核心中可查询的order表达式

本文关键字:order 表达式 查询 核心 net | 更新日期: 2023-09-27 17:51:22

在。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"
        }
    }
}

任何想法?

. net核心中可查询的order表达式

System.Linq.Expressions包中包含IQueryable<T>Expression<TDelegate>。但是要使代码正常工作,还需要包含IQueryable LINQ扩展方法的类型:Queryable。此类型在System.Linq.Queryable包中。

由于System.Linq.Queryable依赖于System.Linq.Expressions,您可以替换项目中的System.Linq.Expressions行。json:

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