当前位置: 代码迷 >> 综合 >> Linq第五天 Orderby
  详细解决方案

Linq第五天 Orderby

热度:61   发布时间:2023-12-16 04:47:17.0

 接触学习Linq已有些日子,但学习并不是很理想

今天主要接触些orderby 学习,学习也相对简单.

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;

 

  相关解决方案