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();