LINQ

LINQ,语言集成查询(Language Integrated Query)

它在对象领域和数据领域之间架起了一座桥梁。传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或IntelliSense支持。

此外,还必须针对不同的数据源学习不同的查询语言,如SQL数据库、XML文档、各种Web服务等。

而LINQ引入了标准的、易于学习的查询和更新数据模式,可以对其技术进行扩展以支持几乎任何类型的数据存储。

Visual Studio 2008包含LINQ Privider的程序集,这些程序集支持将LINQ与.NET Framework集合、SQL Server数据库、ADO.NET数据集和XML文档一起使用。

 
—LINQ是一个编程模型
 
无论是访问文件、XML、数据库、注册表、事件日志、活动目录,还是第三方的数据,都可以使用统一的方法进行访问。
 
扩展方法、匿名类型、Lambda表达式、查询表达式等,大部分都是为了支持LINQ而做出的。
 
种提供程序
—LINQ to SQL
—LINQ to XML
—LINQ to Objects
—LINQ to DataSet
 
查询表达式语法
—查询表达式必须以From子句开头,并且必须以Select或Group子句结尾。
—在第一个From子句和最后一个Select或Group子句之间,查询表达式可以包含一个或多个可选子句:Where、Orderby、Join、Let甚至附加的From子句。
—还可以使用Into关键字使Join或Group子句的结果能够充当同一查询表达式中附加查询子句的源。
 
 
—立即执行:
默认情况下,创建查询后,查询本身并不立即执行。相反,查询定义将存储在用于引用查询结果的变量中。当以后在代码中访问查询结果变量时(如在For…Next循环中),将执行该查询,此过程称为延迟执行。
—
延迟执行:
查询还可以在定义后执行,这称为立即执行。立即执行可以通过应用要求访问查询结果的各个元素的方法来触发,这是包含聚合函数(如Count、Sum、Average、Min或Max)的结果。
原文地址:https://www.cnblogs.com/CrabMan/p/5193292.html