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

如何使用Lambda/Linq实现多关键词Contains任意匹配查询

实现代码

你可以直接通过Any()扩展方法搭配Lambda实现需求,逻辑和你给出的原生SQL完全等价。
假设你的待检索关键词列表为List<string> keywords,核心写法如下:

Lambda 写法(优先推荐)

var newList = MainList.Where(m => keywords.Any(keyword => m.Comments.Contains(keyword))).ToList();

LINQ 查询语法写法

var newList = from m in MainList
              where keywords.Any(keyword => m.Comments.Contains(keyword))
              select m;

补充说明

  • 如果是EF/EF Core查询数据库的场景,以上写法会被自动转换为like '%keyword1%' or Comment like '%keyword2%'...结构的SQL语句,不需要手动拼接查询条件。
  • 如果需要忽略大小写匹配,本地查询时可以调整Contains参数:
    m.Comments.Contains(keyword, StringComparison.OrdinalIgnoreCase)
    
  • 数据库查询场景下如果提供程序不支持StringComparison参数,可以统一转为大小写后比对:
    m.Comments.ToLower().Contains(keyword.ToLower())
    

内容的提问来源于stack exchange,提问作者OmC'ist

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 17:15:03