什么是LINQ
LINQ是语言集成查询(Language Integrated Query)的简称,它在对象领域和数据领域之间架起了一座桥梁
任何实现了IEnumerable或泛型接口 IEnumerable<T>的对象
所有LINQ 查询操作都由以下三个不同的操作组成
– 获取数据源
– 创建查询
– 执行查询
查询执行
查询变量本身只是存储查询命令。实际的查询执行会延迟到foreach 语句中循环访问查询变量时发生。此概念称为“延迟执行”
强制立即执行
执行聚合函数(Count、Max、Average、First)
调用ToList(TSource>) 或ToArray(TSource>) 方法缓存结果
查询基本操作
查询基本操作(from 子句)
复合from子句
在某些情况下,源序列中的每个元素本身可能是序列,也可能包含序列
用于访问单个数据源中的内部集合
使用多个from 子句执行联接
可以包含多个可从独立数据源生成补充查询的from 子句
查询基本操作(let 关键字)
查询基本操作(where 关键字)
Where子句
将一个布尔条件(“谓词”)应用于每个源元素(由范围变量引用),并返回满足指定条件的元素
一个查询表达式可以包含多个where 子句
where 子句是一种筛选机制。除了不能是第一个或最后一个子句外,它几乎可以放在查询表达式中的任何位置。where 子句可以出现在group 子句的前面或后面,具体情况取决于是必须在对源元素进行分组之前还是之后来筛选源元素
如果指定的谓词对于数据源中的元素无效,则会发生编译时错误。这是LINQ 提供的强类型检查的一个优点
编译时,where 关键字会被转换为对Where 查询运算符方法的调用
查询基本操作(Order By 关键字)
在查询表达式中,orderby 子句可使返回的序列或子序列(组)按升序或降序排序。
可以指定多个键,以便执行一个或多个次要排序操作
默认排序顺序为升序
编译时,orderby 子句被转换为对OrderBy 方法的调用。orderby子句中的多个键转换为ThenBy 方法调用。
好了,今天的技术分享就到这 , 如果大家对.NET比较有兴趣的话 , 可以一起加群一起探讨一起交流
295383988