SQL中的in和not in语法对应的LINQ写法

List<testInfo> listAll = new List<testInfo>();
listAll.Add(new testInfo() { id = 1, name = "11", test = "111" });
listAll.Add(new testInfo() { id = 2, name = "22", test = "222" });
listAll.Add(new testInfo() { id = 3, name = "33", test = "333" });
listAll.Add(new testInfo() { id = 4, name = "33", test = "333" });  

List<testInfo> listFind = new List<testInfo>();
listFind.Add(new testInfo() { id = 1, name = "44", test = "111" });
listFind.Add(new testInfo() { id = 2, name = "22", test = "222" });
listFind.Add(new testInfo() { id = 3, name = "33", test = "333" });
listFind.Add(new testInfo() { id = 4, name = "55", test = "333" });
//SQL中的in和not in语法对应的LINQ写法
//相当于查询语句:select * from listAll p where p.name not in(select f.name from listFind)
var a = (from p in listAll
         where !(from f in listFind select f.name).Contains(p.name)
         select p).ToList();

2.分页查询

int pageSize = 20;//每页记录数
int pageIndex=1;//当前页
        //分页
       list = (from p in list
             select p).Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList(); 

  

时间: 2024-12-24 11:20:04

SQL中的in和not in语法对应的LINQ写法的相关文章

SQL中的JOIN语法详解

参考以下两篇博客: 第一个是 sql语法:inner join on, left join on, right join on详细使用方法 讲了 inner join, left join, right join的意义和用法. 第二个是 SQL中的left outer join,inner join,right outer join用法详解 讲了关系运算背后的数学原理,以及提到了更多类型的连接操作: inner join- 笛卡尔乘积再选取, left outer join, right out

Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式

当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left Join获取数据: Linq语法如下: var sg = (from g in dc.sgroup join gu in dc.sgroupuser on g.gKey equals gu.gKey into l from lgu in l.DefaultIfEmpty() select new {

【语法】SQL中的case when then else end用法-解决一个字段根据条件取不同值

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要

SQL中使用WITH AS提高性能,使用公用表表达式(CTE)简化嵌套SQL

一.WITH AS的含义     WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分. 特别对于UNION ALL比较有用.因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可.如果WITH AS短语所定

SQL中的5种聚集函数

原文:SQL中的5种聚集函数 作为一个刚毕业进入这行的菜鸟,婶婶的觉的那种大神.大牛到底是怎样炼成的啊,我这小菜鸟感觉这TMD要学的东西这多啊,然后就给自己定了许多许多要学习的东西,可是有人又不停地给你灌输:东西不在多而要精通!我也觉得很有道理,可是怎样才能精通呢?封神之路,在哪里啊 !!! 这一天没有一个安静的心,基本是学不进去了,发现自己还是太功利了,急功近利!也许你只要学就行,管他是否能够立即让人见识到你的厉害,技术和知识这种东西也许还是要强调一个 底蕴的.既然自己最烦那种看了两篇文章就给

sql 中convert和cast区别

SQL中的cast和convert的用法和区别 更多 2014/1/13 来源:SQL学习浏览量:14125 学习标签: cast convert sql 本文导读:SQL中的cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式.CAST 和 CONVERT 提供相似的功能,只是语法不同.在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式. 一.语法: 1.使用 CAST CAST ( expression AS d

LINQ TO SQL 中的join(转帖)

http://www.cnblogs.com/ASPNET2008/archive/2008/12/21/1358152.html join对于喜欢写SQL的朋友来说还是比较实用,也比较容易接受的东西.在LINQ TO SQL中,写多表查询,同样可以写join,只是它有它自己的语法要求而已,语义都是一样的,下面我来讲下LINQ TO SQL中的join最基本的形式:都是最简单的,当然还有其它方面的内容,如:怎样加上过滤条件,如何分组,如何排序等等,为了单纯说join的用法,这里就简化下. Cod

SQL中的LIKE语句的用法

SQL中的LIKE语句的用法 内容 在SQL结构化查询语言中,LIKE语句有着至关重要的作用.LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的. 假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据.现在我们要在姓名字段中查询以“张”字开头的记录,语句如下:     select * from table1 wh

sql中的group by 和 having 用法解析

--sql中的group by 用法解析:-- Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.--它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理.--注意:group by 是先排序后分组:--举例子说明:如果要用到group by 一般用到的就是“每这个字” 例如说明现在有一个这样的表:每个部门有多少人 就要用到分组的技术select DepartmentID as '部门名称',COUNT(*) a