- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语言集成查询(LINQ)之入门篇
语言集成查询(LINQ)之入门篇 什么是LINQ? 什么是LINQ? 什么是LINQ? 什么是LINQ? 什么是LINQ? 什么是LINQ? 什么是LINQ? 什么是LINQ? 查询基本操作(查询关键字) 查询基本操作(查询关键字) 复合from子句 多个from 子句执行联接 使用let子句扩展范围变量 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询基本操作(查询关键字) 查询操作中的类型关系 查询操作中的类型关系 查询操作中的类型关系 查询操作中的类型关系 * * 传统的查询 Select * from Customers Where city=‘Shanghai’ Order by name desc 简单的字符串表示 没有编译时类型检查 没有IDE的智能感知(IntelliSense)支持 以上的例子只是针对SQL,针对不同的数据源,例如XML 文档、各种Web 服务等我们还要学习不同的查询方法……… ? LINQ是语言集成查询(Language Integrated Query)的简称,是Visual Studio 2008 和.NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁. ? 支持各种数据源 XML文档 SQL Server 数据库 ADO.NET DataSet My sql 支持IEnumerable 或泛型IEnumerable(T)接口的任意对象集合 所有LINQ 查询操作都由以下三个不同的操作组成 – 获取数据源 – 创建查询 – 执行查询 var numbers = new[] { 1, 2, 3, 4, 5, 6, 7, 8 }; var numQuery = from num in numbers where (num % 2) == 0 select num; foreach (int num in numQuery) { Console.WriteLine(num); } Console.Read(); 在LINQ 中,查询的执行与查询本身截然不同;换句话说,如果只是创建查询变量,则不会检索任何数据 ? 数据源 – 在上一个示例中,由于数据源是数组,因此它隐式支持泛型IEnumerable(T)接口。这一事实意味着该数据源可以用LINQ 进行查询 – 在foreach 语句中执行查询,而foreach 要求使用IEnumerable或Ienumerable(T)。支持Ienumerable(T)或派生接口(如泛型Iqueryable(T)的类型称为“可查询类型”。 ? 查询 – 查询指定要从数据源中检索的信息 – 查询还可以指定在返回这些信息之前如何对其进行排序、分组和结构化 – 查询存储在查询变量中,并用查询表达式进行初始化。为使编写查询的工作变得更加容易,C# 引入了新的查询语法 ? 查询执行 – 查询变量本身只是存储查询命令。实际的查询执行会延迟到在foreach 语句中循环访问查询变量时发生。此概念称为“延迟执行” // Query execution. foreach (int num in numQuery) { Console.Write({0,1} , num); } – 强制立即执行 ? 执行聚合函数(Count、Max、Average、First) ? 调用ToList(TSource) 或ToArray(TSource) 方法缓存结果 强制立即执行 var numbers = new[] { 1, 2, 3, 4, 5, 6, 7, 8 }; var numQuery = from num in numbers where (num % 2) == 0 select num; Console.WriteLine(numQuery.Count()); var numQuery = (
文档评论(0)