linq orderby

来源:互联网 发布:淘宝店铺数据监控 编辑:程序博客网 时间:2024/06/11 16:25

1、其实orderby 与SQL 里的order by 十分类似

  EmployeesDataContext db = new EmployeesDataContext();            var r = from s in db.Employees                    orderby s.FirstName, s.LastName                    select new { s.LastName,s.FirstName};             dataGridView1.DataSource = r;

 

上面var r可以改写如下形式

ThenBy操作:var r1 = db.Employees.OrderBy(c => c.FirstName).ThenBy(c => c.LastName).ToList();var r2 = db.Employees.OrderBy(c => c.LastName).OrderBy(c => c.FirstName).ToList(); 

 

注意r2,是两个orderby,多个orderby的级连方式是逆序.即先按FirstName排序再到LastName排序。

 

2、升降序排序如下:

 var r = from s in db.Employees                  orderby s.EmployeeID descending //ascending升降序排序

3、

还有一个就是orderby 与where 一起使用时与顺序无关。而SQL里面where和orderby有顺序限制。

       var r = from s in db.Employees                    where s.TitleOfCourtesy == "Ms."                    orderby s.FirstName, s.LastName                    // where s.TitleOfCourtesy=="Ms."//where 可放在orderby 前也可放有后                     select s;