ORM(三):EF的Lambda查询、实例创建问题

1.Lambda查询

1. Linq查询全部列并降序

1 var userInfoList = from u in db.Users
2                    where u.id > 8
3                    orderby u.id ascending  //descending降序
4                    select u;
5 foreach (Users userInfo in userInfoList)
6 {
7     Response.Write(userInfo.id + ":" + userInfo.uName + "<hr/>");
8 }

2. Linq分页

 int pageIndex = 3;
 int pageSize = 3;
 var userInfoList = (from u in db.Users
                     where u.id > 8
                     orderby u.id ascending  //descending降序
                     select u).Skip((pageIndex - 1) * pageSize).Take(pageSize);
foreach (Users userInfo in userInfoList)
{
    Response.Write(userInfo.id + ":" + userInfo.uName + "<hr/>");
}

3.Linq查询部分列

var userInfoList = from u in db.Users
                   where u.id > 8
                   //使用匿名类,设置两个字段UName,UPwd
                   select new { UName = u.uName, UPwd = u.uPassword };
foreach (var  userInfo in userInfoList)
{
     Response.Write(userInfo.UName+":"+userInfo.UPwd+"<hr/>");
}

4.Lambda查询

//根据ID过滤筛选
var userInfoList = db.Users.Where<Users>(u => u.id > 8);
foreach (var userInfo in userInfoList)
{
     Response.Write(userInfo.id + ":" + userInfo.uName + "<hr/>");
}

5.Lambda升序排序排序查询

对Id进行升序排序

 var userInfoList = db.Users.Where<Users>(U => true).OrderBy<Users, int>(u => u.id); 

对Id进行降序排序

var userInfoList = db.Users.Where<Users>(U => true).OrderByDescending<Users, int>(u => u.id);
foreach (var userInfo in userInfoList)
{
    Response.Write(userInfo.id + ":" + userInfo.uName + "<hr/>");
}

在以用户名为前提倒序排序的基础上,如果用户名相同,则使用Id作为依据对用户名相同的用户进行倒序排序

var userInfoList = db.Users.Where<Users>(u => true).OrderByDescending(u => u.uName).ThenByDescending<Users,int>(u => u.id);

6.Lambda分页查询

int pageIndex = 3;
int pageSize = 2;
var userInfoList = db.Users.Where<Users>(U => true).OrderByDescending<Users, int>(u => u.id).Skip<Users>((pageIndex-1)*pageSize).Take<Users>(pageSize);
foreach (var userInfo in userInfoList)
{
    Response.Write(userInfo.id + ":" + userInfo.uName + "<hr/>");
}

猜你喜欢

转载自www.cnblogs.com/ruisenlLi/p/9303422.html