Lambda表达式之查询篇

时间:2021-01-16 19:13:33

1、查询

 1 db.User.Select(u => u); // 不带条件查询
 2 
 3 db.User.Where(u => true); //不带条件查询
 4 
 5 db.User.Where(u => u.username == "wjl" || u.username == "hyf"); // 带条件查询  || 表示 “或” && 表示 “且”
 6 
 7 db.User.Select(u => u.username.EndsWith("")); // 模糊查询 相当于like '%丽' 
 8 
 9 db.User.Select(u => u.username.IndexOf("")); // 模糊查询 相当于like '%丽%' 
10 
11 db.User.Select(u => u.username.StartsWith("")); // 模糊查询 相当于like '丽%' 
12 
13 db.User.Where( u => (u.username == user.username && u.userpwd == user.userpwd)).Count(); // 计数 返回int类型的数值

分页查询,参数的动态改变自己去设置OrderBy为升序, OrderByDescending为降序 ,ThenByDescending与ThenBy为第二条件排序,Skip相当于not in ,Take相当于Top

 1 var userlist = db.User.Where<User>(u => true).OrderByDescending(u => u.userid).ThenBy(u => u.username).Skip((pageindex - 1) * pagesize).Take(pagesize);
 2 
 3 int pageindex; //从第几条开始
 4 if (!int.TryParse(Request["pageindex"], out pageindex))
 5 {
 6 pageindex = 1;
 7 }
 8 int rcordcount = db.User.Count(); //统计总记录数
 9 int pagesize = 5; //每页要显示的记录条数
10 int pagecount = Convert.ToInt32(Math.Ceiling((double)rcordcount / pagesize)); //计算页数
11 
12 pageindex = pageindex < 1 ? 1 : pageindex; //pageindex不能小于1 和 pageindex 不能大于记录总数
13 pageindex = pageindex > pagecount ? pagecount : pageindex;
14 
15 // OrderBy为升序, OrderByDescending为降序 ,ThenByDescending与ThenBy为第二条件排序,Skip相当于not in ,Take相当于Top
16 var userlist = db.User.Where<User>(u => true).OrderByDescending(u => u.userid).ThenBy(u => u.username).Skip((pageindex - 1)* pagesize).Take(pagesize);