在向大家详细介绍使用LINQ查询之前,首先让大家了解下.NET 语言集成查询 (LINQ),然后全面介绍使用LINQ查询。
二十年之后,业界在面向对象 (OO) 编程技术的发展过程中趋于稳定。现在,程序员已经认为诸如类、对象和方法等特性是理所当然的。在探究当前的和下一代技术时,明显可以看出,有关编程技术的下一个难题是降低访问和集成特定信息(这些信息不是使用 OO 技术进行原始定义的)的复杂性。非 OO 信息的两个最常见源是关系数据库和 XML
.NET Language Integrated Query (LINQ):采用通用方案来解决各种信息源的访问与整合问题,对于 LINQ 项目,我们采取了更为普通的方法,并向 .NET Framework 中添加了适用于所有信息源(而不只是关系数据或 XML 数据)的通用查询工具,而不是在编程语言和运行库中添加相关功能或特定于 XML 的功能。该工具名为 .NET 语言集成查询 (LINQ)。
语言集成查询使得查询表达式 能够得益于丰富的元数据、编译时语法检查、静态输入和智能感知。我们使用语言集成查询 这一术语表明,该查询是开发人员主要编程语言(例如,C#、Visual Basic)的集成功能。语言集成查询使得查询表达式 能够得益于丰富的元数据、编译时语法检查、静态输入和智能感知(以前只能用于命令代码)。语言集成查询还允许将单个通用的声明查询工具应用于所有内存中信息,而不只是来自外部源的信息
标准查询操作符,允许在任何基于 .NET 的编程语言中通过直接的声明方式进行遍历、筛选和投影等操作。共有两组 LINQ 标准查询运算符,一组在类型为 IEnumerable(Of (T)) 的对象上运行(内存中集合上运行),返回的可枚举对象将捕获传递到方法的参数;另一组在类型为 IQueryable(Of (T))的对象上运行,扩展 IQueryable<(Of <(T>)>) 的方法不会实现任何查询行为,但会生成一个表示要执行的查询的表达式目录树
◆LINQ to Objects:是指直接对任意 IEnumerable 或 IEnumerable(Of (T)) 集合使用LINQ查询,无需使用中间 LINQ 提供程序或 API,如 LINQ to SQL 或 LINQ to XML。可以使用LINQ查询任何可枚举的集合,如 List(Of (T))、Array 或 Dictionary(Of (TKey, TValue))。该集合可以是用户定义的集合,也可以是 .NET Framework API 返回的集合。
◆LINQ to XML: 提供使用 .NET 语言集成查询 (LINQ) Framework 的内存中 XML 编程接口。LINQ to XML 使用***的 .NET Framework 语言功能,相当于更新的和重新设计的文档对象模型 (DOM) XML 编程接口。
◆LINQ to ADO.NET:您可以在 ADO.NET 中使用 语言集成查询 (LINQ) 编程模型查询任何可枚举对象
【编辑推荐】