EF Core 3.1.x:
我不想在内存中加载所有产品,以下查询会这样做! 如果表中有数百万个产品,猜猜会发生什么?
var products = context.Products.ToList();
products = products.Where(p => p.Name.Contains("xxx")).ToList();
以下查询语句会抛出异常:LINQ表达式'DbSet-Product- .Where(b => b.Name.Contains( value: "xxx", comparisonType: InvariantCultureIgnoreCase))'无法被翻译。请改写可翻译的形式或显式插入对AsEnumerable()、AsAsyncEnumerable()、ToList()或ToListAsync()的调用以切换到客户端评估模式。
var products = context.Products.Where(p => p.Name.Contains("xxx", StringComparison.InvariantCultureIgnoreCase)).ToList();
相关的github问题: #19087
有人可以帮我解决问题吗?如何使用ef core 3.1.x进行服务器端数据筛选?