如何使用返回IOrderedQueryable的IQueryable使用Func

Pla*_*mus 9 linq

我正在做一些关于EF的研究,并且遇到了一个接受的功能

Func<IQueryable<Student>, IOrderedQueryable<Student>> 
Run Code Online (Sandbox Code Playgroud)

并只是想知道如何调用接受这种参数的函数?

Rap*_*aus 10

想象函数是这样的,你在Student类中有一个属性Id.

public static class Helper {
    public static void Test(Func<IQueryable<Student>, IOrderedQueryable<Student>> param)
        {
            var test = 0;
        }
}
Run Code Online (Sandbox Code Playgroud)

然后你就可以这样使用它

var student = new List<Student>().AsQueryable();//non sense, just for example
Helper.Test(m => student.OrderBy(x => x.Id));
Run Code Online (Sandbox Code Playgroud)

m => student.OrderBy(x => x.Id) 是一个

Func<IQueryable<Student>, IOrderedQueryable<Student>>
Run Code Online (Sandbox Code Playgroud)

(IQueryable<student>作为参数,返回a IOrderedQueryable<Student>)

要不就

Helper.Test(m => m.OrderBy(x => x.Id));
Run Code Online (Sandbox Code Playgroud)

事实上,没有"真正的"功能,这没有多大意义......