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

如何在.NET Framework中用System.Linq单查询实现多条件数据获取

解决方案

当然可以用单条查询同时满足这两个条件,只需要在Where筛选器里把两个条件用逻辑或(||)连接起来即可,EF会自动把这个LINQ表达式转换成对应的SQL查询,一次性从数据库获取所有符合要求的数据。

修改后的代码如下:

int[] targetIds = { 2, 6, 9 };
var contributions = dbContext.FoodMenu
    .Where(x => targetIds.Contains(x.Id) || x.Id > 20)
    .ToList();

说明

  • targetIds.Contains(x.Id):匹配ID为2、6、9的记录
  • x.Id > 20:匹配所有ID大于20的记录
  • 逻辑或(||)确保只要满足其中一个条件的记录都会被筛选出来

EF会将这段代码转换为类似下面的SQL语句(不同数据库语法可能略有差异):

SELECT * FROM FoodMenu WHERE Id IN (2, 6, 9) OR Id > 20

这样就能通过一次数据库查询拿到你需要的所有FoodMenu对象列表了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:00:56