急急急 高分求解 !熟悉linq mvc 的进!!!!!!!!

NickHuang1127 2013-08-21 02:31:29


foreach (var item in subjectIds)
{
query = query.Where(x => x.SubjectsId == item);
}


现有一个数组subjectIds,里面存的都是int数字。
循环数组得到搜索条件 但是query.Where输出的是and并列关系
请问如何改成or或者关系

高分求!!
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2013-08-21
  • 打赏
  • 举报
回复
1楼的不应该报错吧...
NickHuang1127 2013-08-21
  • 打赏
  • 举报
回复
引用 2 楼 q107770540 的回复:
你其实既不想要AND 也不需要OR 你需要的是In操作: 1楼的是可以的,也可以这样做:
query = query.Where(x => subjectIds.Any(s=>s==x.SubjectsId));
OK 解决了 谢谢!
NickHuang1127 2013-08-21
  • 打赏
  • 举报
回复
引用 1 楼 Return_false 的回复:
直接判断是否包含在数组中
query = query.Where(x => subjectIds.Contains(x.SubjectsId));
你这个报错!!
q107770540 2013-08-21
  • 打赏
  • 举报
回复
你其实既不想要AND 也不需要OR 你需要的是In操作: 1楼的是可以的,也可以这样做:
query = query.Where(x => subjectIds.Any(s=>s==x.SubjectsId));
  • 打赏
  • 举报
回复
直接判断是否包含在数组中
query = query.Where(x => subjectIds.Contains(x.SubjectsId));

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧