ASP.NET CORE - The provider for the source IQueryable doesn't implement IDbAsyncQueryProvider

  最近在做ASPNET CORE WEBAPI的时候遇到了一个关于EntityFramework Core异步方式执行查询(ToListAsync、FirstAsync、ForEachAsync等)的问题。
在此记录以下解决方法,当然如果大佬们有其它更好的也可以下面留言

样例代码:

var result = await _context.Company.AsNoTracking()
.Where(m => m.ID == parameters.id)
.ProjectTo(_mapper.ConfigurationProvider)
.ToListAsync();

错误信息:

  The provider for the source IQueryable doesn't implement IDbAsyncQueryProvider.Only providers that implement IDbAsyncQueryProvider can be used for Entity Framework asynchronous operations

解决方案:

  方法一:

    官方文档给出了一个解决方案 : http://go.microsoft.com/fwlink/?LinkId=287068

  方法二:

var result = await Task.FromResult(_context.Company.AsNoTracking()
.Where(m => m.ID == parameters.id)
.ProjectTo(_mapper.ConfigurationProvider)
.ToList());

posted @ 2020-05-28 14:52  Uniqueness  阅读(1834)  评论(0)    收藏  举报