linq to sql生成not in语句的小技巧

以前一直觉得linq to sql生成类似where id not in (1,3,5)或where id not in (select id from ...)这样的条件不是很方便,每次我都是把条件ID事先取到一个数组里,然后用 !Arr.Contains(c.Id)这样处理,今天突然发现这样好傻,其实可以完全直接用linq写成一句,贴个示例在这里,以后备查

from a in TableA where !(from b in TableB Where ... select b.Id).Contains(a.Id)

最终翻译出来的语句并非跟not in 完全一样的,而是用not exists(...),不过效果完全相同,能达到要求就行了

 

 

 

上一篇:[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型


下一篇:mysqldump - 给 DBA 的 25 个小技巧