接触学习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; |