日期:2014-05-17  浏览次数:20526 次

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


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


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

高分求!!

------解决方案--------------------
直接判断是否包含在数组中
query = query.Where(x => subjectIds.Contains(x.SubjectsId));

------解决方案--------------------
你其实既不想要AND 也不需要OR

你需要的是In操作:

1楼的是可以的,也可以这样做:
query = query.Where(x => subjectIds.Any(s=>s==x.SubjectsId));