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

Linq多列Select查询条件失效问题及修复方法咨询

问题修复方案

你的代码问题出在两个核心点:

  • 过滤条件偏离需求:你要筛选Connection和Seal不为空的条目,但当前where判断的是el.from,完全没针对目标字段。
  • 嵌套了多余的集合查询:select里用l.Select(...)会让每个符合条件的元素都返回整个集合的所有对象,这就是你看到每个匹配项都包含所有输入的原因。

修复后的代码

查询表达式写法

var fromElements = from el in l
                   where !string.IsNullOrEmpty(el.Connection) && !string.IsNullOrEmpty(el.Seal)
                   select new
                   {
                       el.Connection,
                       el.Seal
                   };

方法链写法(可选)

var fromElements = l.Where(el => !string.IsNullOrEmpty(el.Connection) && !string.IsNullOrEmpty(el.Seal))
                    .Select(el => new { el.Connection, el.Seal });

关键修复说明

  1. 修正过滤逻辑:用string.IsNullOrEmpty()同时判断null和空字符串,替代冗余的双重判断,精准筛选Connection和Seal都有效的条目。
  2. 移除嵌套查询:直接对当前遍历的el创建匿名对象,每个符合条件的元素只会生成包含自身Connection和Seal的对象,不会重复返回整个集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 00:45:14