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