gpt4 book ai didi

entity-framework-core-3.1 - EF Core 3.1.x : The LINQ expression could not be translated. 要么以可翻译的形式重写查询

转载 作者:行者123 更新时间:2023-12-03 16:35:14 25 4
gpt4 key购买 nike

EF 核心 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(
值:“xxx”,
compareType: 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 通过服务器端评估过滤数据?

最佳答案

EF Core 确实为服务器端评估翻译 Contains - 但不是接受 StringComparison.InvariantCultureIgnoreCase(或任何其他 StringComparison)的重载。

Closed issue here

关于entity-framework-core-3.1 - EF Core 3.1.x : The LINQ expression could not be translated. 要么以可翻译的形式重写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61908871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com