Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq TopagedListSync()-源IQueryable的提供程序不';t实现IDbAsyncQueryProvider_Linq_Asynchronous_Model View Controller - Fatal编程技术网

Linq TopagedListSync()-源IQueryable的提供程序不';t实现IDbAsyncQueryProvider

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<

几个小时以来,我一直在努力解决这个问题,却找不到解决办法。 我正在使用一个WebAPI MVC项目,并尝试将IEnumerable列表异步转换为分页列表。我可以编译,但在TopagedListSync()行上仍然出现运行时错误

源iQueryTable的提供程序未实现IDBSyncQueryProvider。只有实现IDBSyncQueryProvider的提供程序才能用于实体框架异步操作。有关详细信息,请参阅。”

第一层:

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)