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

如何实现EF多查询条件的AND关联:筛选Companies与Component目标数据

合并LINQ查询实现AND逻辑

直接将两个查询的筛选条件合并到同一个where子句中,同时保留表关联逻辑即可实现需求,示例代码如下:

var viewModel = from c in _context.Companies
                join co in _context.Component on c.id equals co.company_id
                // 同时满足两个条件:公司类型筛选 AND Component属性筛选
                where 
                    // 保留原查询的公司类型多值匹配逻辑
                    (c.company_type.Contains(checkedBoxes[...]) || 
                     c.company_type.Contains(...) || 
                     c.company_type.Contains(...))
                    // 新增Component属性的筛选条件,替换为你需要的属性和指定值
                    && (co.TargetProperty == "指定值" || co.OtherProperty == 123)
                select new Joincco { Companies = c, Component = co };

关键说明:

  • 保留原有的join语句,确保Companies和Component表通过company_id关联
  • where子句用&&连接两组条件,实现同时满足的AND逻辑
    • 第一组是原查询的公司类型筛选(多个Contains用||组合,保持“任一匹配即符合”的原有逻辑)
    • 第二组是Component的属性筛选,根据实际需求替换为具体的属性和判断规则,比如co.Status == "Enabled"、co.Price > 50等
  • 最终构造Joincco对象时,同时赋值Companies和Component属性,保证返回数据的完整性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:05:53