You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LINQ查询未返回预期结果 如何修正匹配含test记录的查询语句

LINQ包含关键词查询无返回结果修正

问题背景

现有数据如下:
数据示例截图
需求为筛选所有内容中包含test的记录,当前编写的查询未返回任何结果,原代码如下:

from recordings in Result where recordings.Contains("test") select recordings;

问题原因

查询失效是两个常见错误导致的:

  • 未指定匹配字段:string.Contains()是字符串类型的内置方法,你直接对recordings实体对象本身调用该方法逻辑不成立,必须明确指定要检索的、存储文本内容的具体属性(例如存储正文的Content字段、存储标题的Title字段)。
  • 大小写匹配规则问题:C# 默认的字符串匹配是严格区分大小写的,从数据截图可以看到对应内容里的关键词是首字母大写的Test,全小写的匹配条件无法命中对应记录。

修正代码

如果是查询内存中的集合(LINQ to Objects场景),指定匹配字段+忽略大小写即可,示例(假设存储内容的字段名为Content,替换成你自己的实际字段名就行):

from recordings in Result
where recordings.Content.Contains("test", StringComparison.OrdinalIgnoreCase)
select recordings;

如果是通过EF/EF Core查询数据库,多数数据库默认排序规则本身就不区分大小写,只需要修正字段引用即可:

from recordings in Result
where recordings.Content.Contains("test")
select recordings;

内容的提问来源于stack exchange,提问作者Dhruvi Parikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 11:33:21