VisualC#2008大学教程第二十节.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二十章 LINQ 与XML、SQL 天津理工大学华信软件学院 张一鸣 2011年12月2日 第20章 LINQ与XML、SQL LINQ的基本概念 如何用LINQ查询数组 基本.NET集合概念 如何创建与使用List泛型集合 如何编写泛型方法 如何用LINQ查询List泛型集合 20.1 LINQ是什么 LINQ是一个把查询当作头等概念引入所有微软.NET语言的编程模型。但是,现有的编程语言完全支持LINQ还需要添加一些扩展内容。经过扩展,LINQ提供了一种简化和统一各种类型数据访问实现的方法。它可以很容易地利用几种现有的体系结构来访问数据,例如: RAD/原型 客户端/服务器 三层/多层体系结构 智能客户端 LINQ和.NET语言的关系 .NET各个版本的关系 LINQ 的发明者 最初由 Anders Hejlsberg 构思,最初的研究计划称为 Cω 2007年11月19日 – LINQ作为 .NET Framework 3.5 的一部分正式发布 LINQ要解决的问题 面向对象与数据访问两个领域长期分裂,各自为政 编程语言中的数据类型与数据库中的数据类型形成两套体系。 SQL 编码体验落后 SQL 和 XML 都有各自的查询语言,而对象没有自己的查询语言 LINQ的发展经历 20.2 为什么需要LINQ 原来的SQL只能访问包含在结构化的关系型数据库中的数据。但是现实世界中,数据可以存储在各种各样的数据源中,比如数组、对象图、XML文档、数据库、文本文件、注册表项、网页、电子邮件信息、简单对象访问协议(SOAP)消息内容、微软的Excel电子表等,特别是大量非结构化数据,都是用SQL无法访问的。 例子20.1 一个简单的LINQ查询程序 using System; using System.Linq; string [ ] greetings = { “hello world”, “hello LINQ”, “hello Apress” }; var items = from s in greetings where s.EndsWith (“LINQ”); select s; foreach ( var item in items ) Console.WriteLine ( item ); 在vs2008中创建这个工程,编辑程序、编译、链接,执行,在具有三个元素的字符串数组执行LINQ 查询。显示结果为: LINQ查询语句简介 要使用LINQ查询,首先要导入System.Linq名字空间,其中包含了对象LINQ的提供者。例如:using System.Linq; LINQ查询的格式一般为: from value in values where condition (如:value 4 ) orderby value [descending| ascending] select value; 子句说明 在上面的LINQ查询语句中,出现了几个子句: 以from子句开始,要指定范围变量(value)和要查询的数据源(values)。范围变量表示数据源中的每个项,相当于foreach语句中的控制变量。 where子句的条件为真,则选中这个元素,即把它放进结果中。 select子句确定结果中显示什么值。也就是范围变量中满足where条件为真的那些变量。 LINQ查询一般以此句结束。 orderby子句可以对选中的值按照升序或降序排列。 访问数据源的数据模型 LINQ技术的独特方法 LINQ在总结了以前的经验后,没有走统一各种不同的数据模型的结构从而建立一个“通用”模型的方法,而是利用不同数据模型中操作具有的通用功能来实现这个目的。 换句话说,使用LINQ时,仍然维持现有的各种数据结构,比如类或表,并且不管这些数据类型表示何种物理意义,但是都用统一的查询语法对异种数据进行查询。例如对于内存中的数组和数据库中的关系表中的数据,使用LINQ就可以对他们使用相同的查询语法。 例子20.2 一个简单LINQ查询 设计一个LINQ查询,在Customers数据表中搜索所属国籍是意大利的那些公司的名称,代码如下所示: var query = from c in Customers where c.Country == “Italy” select c.CompanyName; 该查询返回的结果是一个字符串列表,可以用C#语句按照枚举的方式显示这些返回值,即: foreach ( string name in query ) { Console.WriteLine ( name ); } 简单LINQ查询的说明 var、query和foreach

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档