今天学LINQ之一LINQ简述及延迟执行
来源:互联网 发布:移动网络电视机顶盒 编辑:程序博客网 时间:2024/04/30 02:57
说明:以下部分内容来自msdn,不明白的可以查MSDN
查询是一种从数据源检索数据的表达式。查询通常用专门的查询语言来表示。随着时间的推移,人们已经为各种数据源开发了不同的语言;例如,用于关系数据库的 SQL 和用于 XML 的 XQuery。因此,开发人员不得不针对他们必须支持的每种数据源或数据格式而学习新的查询语言。LINQ 通过提供一种跨各种数据源和数据格式使用数据的一致模型,简化了这一情况。在 LINQ 查询中,始终会用到对象。可以使用相同的基本编码模式来查询和转换 XML 文档、SQL 数据库、ADO.NET 数据集、.NET 集合中的数据以及对其有 LINQ 提供程序可用的任何其他格式的数据。
所有 LINQ 查询操作都由以下三个不同的操作组成:1获取数据源。2创建查询。3执行查询。
首先是微软的一个例子,该查询表达式包含三个子句:from、where 和 select。from 子句指定数据源,where 子句应用筛选器,select 子句指定返回的元素的类型,例子如下:
...{
static void Main()
...{
// The Three Parts of a LINQ Query:
// 1. 数据
int[] numbers = new int[7] ...{ 0, 1, 2, 3, 4, 5, 6 };
// 2. 查询构建
// numQuery is an IEnumerable<int>
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. 执行
foreach (int num in numQuery)
...{
Console.Write("{0,1} ", num);
}
}
}
在 LINQ 中,查询的执行与查询本身截然不同;换句话说,如果只是创建查询变量,则不会检索任何数据,(在 查询变量本身不执行任何操作并且不返回任何数据,它只是存储在以后某个时刻执行查询时为生成结果而必需的信息)查询执行会延迟到在 foreach 语句中循环访问查询变量时发生。此概念称为“延迟执行”。
查询变量本身从不保存查询结果,因此可以根据需要随意执行查询。例如,可以通过一个单独的应用程序持续更新数据库。在应用程序中,可以创建一个检索最新数据的查询,并可以按某一时间间隔反复执行该查询以便每次检索不同的结果。
- 今天学LINQ之一LINQ简述及延迟执行
- Linq 延迟执行
- Linq to sql:延迟执行
- Linq(1.延迟的查询执行)
- 今天学LinQ之 LinQ to SQL 片段
- LINQ的延迟查询
- Linq的延迟加载
- Linq-延迟查询
- Linq 学习(7) 延迟执行 & 查询非泛型集合
- LINQ之路 6:延迟执行(Deferred Execution)
- LINQ之路 6:延迟执行(Deferred Execution)
- linq的延迟执行--学习linq的资料和笔记(四)
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别 LINQ延迟执行
- 今天学LINQ之二(1) 枚举小练习
- LINQ to SQL之一
- linQ学习笔记之一
- 光脚丫学LINQ(015):使用LINQ to SQL可以执行的操作
- 光脚丫学LINQ(011):对源元素执行操作
- ----工作流引擎几种实现 -- Work Flow Application 4
- RCP
- Visual C++设计超强仿QQ自动伸缩窗口(转载至中国IT实验室)
- vi 多文件间数据拷贝
- vim大小写转换
- 今天学LINQ之一LINQ简述及延迟执行
- ibatis 配置问题
- Nintendo DS 系统总览
- vim 插件
- EVC中的数据类型转换
- Nintendo DS(NDS) 开发环境配置教程
- 面试:就职外企可用的英语问答
- 对话框控件被窗口背景遮挡住的问题
- WebLogic Server中从一个MySQL数据库表创建Excel电子表格