from u in users let number = Int32.Parse(u.Username.Substring(u.Username.Length - 1)) where u.ID < 9 && number % 2 == 0 select u
一个查询表达式中可以有0个或多个let子句,let子句可以创建一个临时变量
一个查询表达式中可以有0个或多个where子句,where子句可以指定查询条件
一个查询表达式必须以select或者group by结束
select后跟要检索的内容
group by 是对检索的内容进行分组
最后一个into子句起到的作用是
将前面语句的结果作为后面语句操作的数据源。
from p in db.Employees select new { LastName = p.LastName, TitleOfCourtesy = p.TitleOfCourtesy } into EmployeesList orderby EmployeesList.TitleOfCourtesy ascending select EmployeesList;
比如:
from p in db.Products group p by p.CategoryID into g select new { g.Key, NumProducts = g.Count()};