在ASP.NET Core-6 Web API项目中,我有以下代码:
private async Task<int> GetTotalCustomers()
{
var userName = _currentUserService.UserName;
var merchantId = _dbContext.Merchants
.Where(u => u.User.UserName == userName)
.Select(m => m.Id)
.FirstOrDefault();
var customersList = await _dbContext.Mandates
.Where(x => x.MerchantId == merchantId)
.GroupBy(x => x.DrAccountNumber)
.ToListAsync();
return customersList.Count();
}
我得到这个错误:
系统操作无效异常:无法翻译LINQ表达式“DbSet().Where(x =〉x.MerchantId == __merchantId_0).GroupBy(x =〉x.DrAccountNumber).”请以可以翻译得形式重写查询,或者通过插入对“AsEnumerable”,“AsAsyncEnumerable”,“ToList”或“ToListAsync”得调用来显式切换到客户端计算.
如错误中所述,我已经有了ToListAsync()
如何解决此问题?
谢谢
1条答案
按热度按时间omhiaaxx1#
而不是执行两个查询,所有内容都可以写在一个查询中,这样会更有效。