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<CompanyDto>(_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<CompanyDto>(_mapper.ConfigurationProvider)
            	.ToList());


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM