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

LINQ TO SQL中NOT IN怎么使用??
最近需要写一个LINQ语句。用到not in ,小弟又是初学。 看了网上很多的帖子~ 说contain这个东东 怎么都点不出来~明天就是周1.一定要写出来~~但是还是不会~所以来跪求大神了。。求代码~~不用麻烦的 来个例子就好~~ 
111 LINQ?to?SQL

------解决方案--------------------
举个例子,查询table中id不为在1,2,3,4的数据
int[] arrs=new int[]{1,2,3,4};
var query=from p in dbtable
          where !arrs.Contains(p.id)
          select p;
------解决方案--------------------
除了Contains,也可以用Any/All

int[] arrs=new int[]{1,2,3,4};
 var query=from p in dbtable
           where !arrs.Contains(p.id)
           select p; 
也可以写成
var query = dbtable.Where(x => arrs.All(y => y != x));
------解决方案--------------------
这要看你 . 前边的部分是什么类型的  有没有继承自IEnumerable接口

public static bool Contains<TSource>(
this IEnumerable<TSource> source,
TSource value
)


http://msdn.microsoft.com/en-us/library/bb352880.aspx