首页 新闻 会员 周边 捐助

linq 附加where中如何实现 not in

0
悬赏园豆:100 [已解决问题] 解决于 2013-09-22 16:02

var model=select c from db.test where c.ID>0 select new(c.ID,c.Name,c.classID);

if(classID>0){

model=model.where(p=>  ???? )//这里怎么加not in 呢?   【!(new int?[] { 1, 2 }).Contains(p.classID)

}

 

如上面语句,如果传过来的参数 classID 符合条件就 添加not in 条件,请高手解答,谢谢

marshalmackes的主页 marshalmackes | 初学一级 | 园豆:73
提问于:2013-08-24 19:24
< >
分享
最佳答案
1

谢谢各位,思路上用 二楼的 p => (!(new int?[] { 1, 2 }).Contains(p.classID)); 是可以的,可是我这比较纠结,非得先把 这个数组先定义了。如:

int[] int_arr=new int[]{1,2,3}

p => (!int_arr.Contains(p.classID));

这样才不报错

marshalmackes | 初学一级 |园豆:73 | 2013-09-22 15:50
其他回答(6)
0

没看懂题目

什么not in什么

alone__ | 园豆:60 (初学一级) | 2013-08-24 21:00
0
if(classID>0){
    var model = 
    from c in db.test
    where c.ID > 0  &&       
    !(from d in db.test2
     select d.classID)
    .Contains(c.classID)
    select c;
}

参考:How would you do a “not in” query with Linq?

收获园豆:30
dudu | 园豆:29817 (高人七级) | 2013-08-24 21:40
0

你问题中的蓝色语句,不就是答案吗?用这句替换掉????即可~

幻天芒 | 园豆:37207 (高人七级) | 2013-08-25 12:21
0

.Net高级技术交流群分群开始招人了:欢迎各位志同道合的人加入! 101380580

辛巴 | 园豆:622 (小虾三级) | 2013-08-26 13:57
0

发错群号了  是这个群 198031493

SmallSnail | 园豆:216 (菜鸟二级) | 2013-08-28 16:28
0

var model=select c from db.test where c.ID>0 select new(c.ID,c.Name,c.classID);

呵呵,用

TestSet.Select(TestSet.ID,TestSet.Name,TestSet.ClassID).Where(TestSet.ID.NotIn(1,2));

 

Moon.Orm 5.0系列文章

收获园豆:30
[秦时明月] | 园豆:738 (小虾三级) | 2013-09-07 20:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册