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

Contains 与int类型的问题

modelL = modelL.Where(p => DEPART_arr.Contains(p.DEPART_ID));

modelL 是要查询的结果 这句话是多条查询语句的其中一句 类型是IQueryable
DEPART_arr 是个int类型的长度已知的数组
p.DEPART_ID 是表中的一个int类型的字段,列中有null的值
我试过如果换成string 类型的 数组跟字段的话 不报错
int类型的就报错,不知道是不是因为null的关系 求解决办法
错误提示是int[] 不包含Contains 的定义。。。。。什么什么的
求各位大侠帮忙
Contains int

------解决方案--------------------
modelL = modelL.Where(p => p.p.DEPART_ID!=null && DEPART_arr.Contains(p.DEPART_ID));

modelL = modelL.Where(p => p.p.DEPART_ID==null 
------解决方案--------------------
 DEPART_arr.Contains(p.DEPART_ID));


------解决方案--------------------
可以处理一下啥。类似下面这样。具体看你的查询需求
modelL = modelL.Where(p => DEPART_arr.Contains(String.IsNullOrEmpty(p.DEPART_ID)?"0":p.DEPART_ID));
------解决方案--------------------
Where(p => DEPART_arr.Contains(p.DEPART_ID.Value));