查询语句
八大查询子句:
from、where、select、group、orderby、into、join、let子句
子句说明:
(1)LINQ查询表达式必须以from子句开头,并且必须以select或group子句结束。
(2)在第一个from子句和最后一个select或group子句之间,查询表达式可以包含一个或多个where、orderby、group、join、let子句,甚至from子句。
(3)另外,join和group子句还可以使用into子句指定临时标识符号。
Form子句:
指定查询操作的数据源和范围变量
注意:form子句指定的数据源的类型必须为IEnumerable、IEnumerable<T>或前两者的派生类型
Select子句:
指定查询结果的类型和表现形式
Where子句:
筛选元素的逻辑条件,一般有逻辑运算符组成
Group子句:
对查询进行分组
注意:TKey指定IGrouping<TKey,TElement>的键的类型,TElement指定IGrouping<TKey,TElement>的值的类型。访问IGrouping<TKey,TElement>类型的值的方法与访问IEnumerable<T>的元素的方式非常相似
Orderby子句:
对查询结果进行排序,可以为“升序”或“降序”
注意:LINQ查询表达式对查询结果的默认排序方式为“升序”
Into子句:
连接多个查询操作的数据源
Join子句:
引入用于存储查询表达式中的子表达式结果的范围变量
join子句可以实现一下3种联接关系:
(1)内部联接,元素的联接关系必须同时满足被联接的两个数据源
(2)分组联接,含有into子句的join子句
(3)左外部联接
Let子句:
提供一个临时标识符,充当对join,group或select子句的结果
简单查询代码截图:
复杂查询代码截图:
聚合查询代码截图:
分组查询代码截图: