【发布时间】:2020-06-02 18:14:20
【问题描述】:
我正在 .NET Core 3 中开发一个在线商店,遵循一些使用 .NET CORE 2 开发的教程。EF LINQ 在尝试执行这行简单的代码后出错:
var stocksToUpdate = _context.Stock
.Where(x => request.Stocks
.Any(y => y.StockId == x.Id))
.ToList();
我收到以下错误:
InvalidOperationException:无法翻译 LINQ 表达式“
DbSet<Stock> .Where(s => __request_Stocks_0 .Any(y => y.StockId == s.Id))”。要么以可以翻译的形式重写查询, 或通过插入调用显式切换到客户端评估 AsEnumerable()、AsAsyncEnumerable()、ToList() 或 ToListAsync()。
老实说,我不知道如何以不同的方式编写该查询。我已尝试按照建议将 .ToList() 替换为 .AsEnumerable ,但它仍然出错,同样的错误。有谁知道 .NET Core 3 中的修复方法是什么? 提前致谢!
【问题讨论】:
标签: c# linq asp.net-core-3.0 ef-core-3.0