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