LINQ用法

一、概述语言集查询Ganmge hteg.ratedQuw,LINQ,集 成了唧编程语言中的查询语法,可以用相同的 语法访问不同的数据源。LINQ提供了不同数据源的抽象层,所以可以使用相同的语法。
概念:“查询”也是一种指令,使用这组指令可以从给定的一个或多个数据源中检索数据,并以指令的形式返回结果。Linq也是一种查询,可以为编程语言提供强大的方便的查询功能,并与其合为一体。

From:子句被查询的数据源(相当于for循环)
Where:子句指定元素所满足的过滤条件(相当于if判断)
orderby:表现方式(相当于排序方式,升序、降序。。。)
Select:子句制定查询结果的表现形式,(相当于return)
LINQ用法
是一个LINQ查询,子句from、 where、 orderby、 descending 和select 都是这个查询中预定义的关键字。 查询表达式必须以from子句开头,以 select 或group子句结束。在这两个子句之间,可以使用 where、 orderby、 Join、 let和其他from子句。 并不是所有的查询都可以用LINQ查询完成。也不是所有的扩展方法都映射到LINQ查询子旬 上。

高级查询需要使用扩展方法。为了更好地理解带扩展方法的复杂查询,最好看看简单的查询是 如何映射的。使用扩展方法Where()和 select(),会生成与前面LINQ查询非常类似的结果 :
LINQ用法
排序
LINQ用法
分组
要根据一个关键字值对查询结果分组,可以使用group子 句。现在一级方程式冠军应按照国家 分组,并列出一个国家的冠军数。子句gIoup r by r.Country into g根据country属性组合所有的赛手 , 并定义一个新的标识符g,它 以后用于访问分组的结果信息。group子句的结果根据应用到分组结果 上的扩展方法count()来排序,如果冠军数相同,就根据关键字来排序,该关键字是国家,因为这是 分组所使用的关键字。where子句根据至少有两项的分组来筛选结果,select子 句创建一个带country和count属性的匿名类型。
LINQ用法
连接
使用join子旬可以根据特定的条件合并两个数据源,但之前要获得两个要连接的列表。在一级 方程式比赛中,有 赛手冠军和车队冠军。赛手从GetChampions()方 法中返回,车 队从 GeConstuctorChampions()方法中返回。 现在要获得一个年份列表,列出每年的赛手冠军和车队冠军。 为此,先定义两个查询,用于查询赛手和车队

LINQ用法
有了这两个查询,再通过子句join t in teams on r.Year equals t.Year,根 据赛手获得冠军的年份和 车队获得冠军的年份进行连接。selcct子句定义了一个新的匿名类型,它包含Year、 Racer和 Team 属性。
LINQ用法
LINQ用法
聚合操作符(如Count(),Sum(),Min(),Max(),Average(),Aggregate())不 返回一个序列,而返 回一个值。
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
Where子句:指定了筛选条件
LINQ用法
LINQ用法
Select选择子句LINQ用法
LINQ用法
Group分组
LINQ用法
LINQ用法
LINQ用法
orderby子句
LINQ用法
LINQ用法
Into连接子句
LINQ用法
LINQ用法
Join连接子句
LINQ用法
LINQ用法
LINQ用法
查询数据库LINQ与数据库操作
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法
LINQ用法