Linq TopagedListSync()-源IQueryable的提供程序不';t实现IDbAsyncQueryProvider
几个小时以来,我一直在努力解决这个问题,却找不到解决办法。 我正在使用一个WebAPI MVC项目,并尝试将IEnumerable列表异步转换为分页列表。我可以编译,但在TopagedListSync()行上仍然出现运行时错误 源iQueryTable的提供程序未实现IDBSyncQueryProvider。只有实现IDBSyncQueryProvider的提供程序才能用于实体框架异步操作。有关详细信息,请参阅。” 第一层:Linq TopagedListSync()-源IQueryable的提供程序不';t实现IDbAsyncQueryProvider,linq,asynchronous,model-view-controller,Linq,Asynchronous,Model View Controller,几个小时以来,我一直在努力解决这个问题,却找不到解决办法。 我正在使用一个WebAPI MVC项目,并尝试将IEnumerable列表异步转换为分页列表。我可以编译,但在TopagedListSync()行上仍然出现运行时错误 源iQueryTable的提供程序未实现IDBSyncQueryProvider。只有实现IDBSyncQueryProvider的提供程序才能用于实体框架异步操作。有关详细信息,请参阅。” 第一层: public async Task<IEnumerable<
public async Task<IEnumerable<MatchingCriteria>> GetMatchingCriterias(int id)
{
return await _ctx.MatchingCriterias.Include(mc => mc.RuleDefinition).Where(mc => mc.RuleDefinitionId == id).ToListAsync();
}
然后:
return View(await matchingCriterias.ToPagedListAsync(pageNumber, pageSize)
那很有效
我可以在嵌套方法上返回一个DbSet,但是我不能在第一层中使用ToListAsync()
有没有办法使列表可查询?
还有其他想法或建议吗?好吧,我自己通过创建一个AsyncQueryable扩展来修复它,如前所述 然后我可以调用PagedListSync()方法,如下所示:
return View(await matchingCriterias.AsAsyncQueryable().ToPagedListAsync(pageNumber, pageSize)
var matchingCriterias = _db.MatchingCriterias.Include(mc => mc.RuleDefinition);
return View(await matchingCriterias.ToPagedListAsync(pageNumber, pageSize)
return View(await matchingCriterias.AsAsyncQueryable().ToPagedListAsync(pageNumber, pageSize)