日期:2014-05-20  浏览次数:20746 次

Linq Where子句,条件与数组相关时的问题
Linq 语句如下:

int[] ids = new int[] { 1, 2 };
var results = from c in db.Companies
  where c.Id == ids[0] && c.SonId = ids[1]
  select c;

提示ArrayIndex 错误, 把ids[0], ids[1] 用int型变量替换就没事了.


有更好的写法?????

多关键字时常出现这样的问题

------解决方案--------------------
where c.Id == ids[0] && c.SonId = ids[1]
=>
where c.Id == ids[0] && c.SonId == ids[1]

------解决方案--------------------
保持类型一致
条件判断用 ==
------解决方案--------------------
探讨
保持类型一致
条件判断用 ==

------解决方案--------------------
探讨

where c.Id == ids[0] && c.SonId = ids[1]
=>
where c.Id == ids[0] && c.SonId == ids[1]

------解决方案--------------------
linq是对的,检查是否还有其它笔误,&&=> &&