C# 如何在列表上使用分页<;T>;

C# 如何在列表上使用分页<;T>;,c#,linq,ienumerable,iqueryable,C#,Linq,Ienumerable,Iqueryable,我有以下内容,希望实现分页,但这样做时会出错。仅当我从列表(或IEnumerable)创建IQueryable时,直接对从LINQ返回为IQueryable的查询结果执行分页时,我没有收到此错误 System.InvalidOperationException:源IQueryable不可用 实现IDBSyncEnumerable。只有实现 IDBSyncEnumerable可用于实体框架异步 操作。有关更多详细信息,请参阅 List wbs=new List(); foreach(卡车中的卡车

我有以下内容,希望实现分页,但这样做时会出错。仅当我从列表(或IEnumerable)创建IQueryable时,直接对从LINQ返回为IQueryable的查询结果执行分页时,我没有收到此错误

System.InvalidOperationException:源IQueryable不可用 实现IDBSyncEnumerable。只有实现 IDBSyncEnumerable可用于实体框架异步 操作。有关更多详细信息,请参阅

List wbs=new List();
foreach(卡车中的卡车)
{
WeeklyBilling wb=新的WeeklyBilling();
wb.客户=t.客户;
wbs.Add(wb);
}
var wbitems=wait wbs.AsQueryable()
.OrderBy(输入.排序)
.PageBy(输入)
.ToListAsync();
请参阅

由于实体框架查询使用LINQ,因此 方法是在IQueryable和IEnumerable上定义的。但是因为 它们仅设计用于您可能需要的实体框架 如果尝试在LINQ查询中使用它们,将收到以下错误 这不是实体框架查询

您还可以将PageBy替换为

List<WeeklyBilling> wbs = new List<WeeklyBilling>();

            foreach (Trucks t in trucks)
            {
                WeeklyBilling wb = new WeeklyBilling();
                wb.Customer = t.Customer;
                wbs.Add(wb);
            }

            var wbitems = await wbs.AsQueryable<WeeklyBilling>()
               .OrderBy(input.Sorting)
               .PageBy(input)
               .ToListAsync();
var wbitems = wbs.OrderBy(input.Sorting)
               .Skip(numberOfObjectsPerPage * pageNumber)
               .Take(numberOfObjectsPerPage)
               .ToList().