实验11 LIQ数据查询.docVIP

  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文档。上传文档
查看更多
实验11 LINQ数据查询 11.1 LINQ技术概述 11.1.1 什么是LINQ技术 LINQ (Language-Integrated Query, 语言集成查询),是.Net Framework 3.5中的一项新技术,它引入了标准的、易于学习的查询和更新数据模式,可以对其技术进行扩展以支持几乎任何类型的数据存储。 传统上,数据是SQL的天下,而面向对象语言(如Java,C#等)在编程语言领域称雄,二者之间的沟通很费周章,在编程语言里拼接SQL字串不仅繁琐,而且还容易产生安全漏洞。传统的数据查询是用字符串来表示查询操作,如关系数据库中的SQL语句或者查询XML的XQuery,等等在这些查询操作中一般是不会检查查询数据的类型,另外一点传统意义上的查询与编程语言是处于一种相对孤立的状态,然而LINQ的出现使两者自然的整合为一个整体,在对象和数据领域之间架起了一座桥梁,使数据查询进入了一个新的时代。 LINQ的最大特点就是将查询功能直接引入到.Net Framework 3.5所支持的编程语言中,使查询成为编程语言的一部分,可为 C# 和 Visual Basic 语言语法提供强大的语言集成查询功能。语言集成查询使得查询表达式能够得益于丰富的元数据、编译时语法检查、静态输入和智能感知(以前只能用于命令代码)。语言集成查询还允许将单个通用的声明查询工具应用于所有内存中信息,而不只是来自外部源的信息标准查询操作符,允许在任何基于.NET 的编程语言中通过直接的声明方式进行遍历、筛选和投影等操作。“查询是语言的一部分”11.1.2 LINQ技术体系结构 LINQ一般包含以下4种组件: (1)Linq to SQL组件:提供查询基于关系数据库数据的一套机制; (2)Linq to DataSet组件:可以轻松对DataSet中的数据进行操作; (3)Linq to Object组件:可以查询IEnumerable或IEnumerableT集合,也就是说可以查询任何可枚举的集合(Arraylist、Array、ListT); (4)Linq to XML组件:可以查询或操作XML结构的数据,并提供修改文档对象模型的内存文档和支持Linq查询表达式功能,以及处理XML文档的全新的编程接口。 LINQ总体架构如下: 图11.1 LINQ技术体系结构 11.1.3 LINQ与ADO.NET的比较 现在我们比较一下LINQ的数据访问技术和ADO.NET数据访问技术到底有着怎样的关系,二者有什么不同? 传统的ADO.NET虽然提供了大量的操作数据的方法,但是有些时候这些方法不免显得有些繁琐,开发人员需要编程查询或操作数据库的每一个步骤(获取连接字符串、创建数据库连接、打开连接、执行查询或操作数据的命令、关闭连接),而使用Linq可以将数据从数据库的表中传递到内存的对象中,并将数据源转换为基于IEnumerable的对象集合。 Linq to ADO.NET是专门用来处理关系数据的,这其中Linq to DataSet是基于ADO.NET,并为ADO.NET提供了更加高级的、简单的查询技术; Linq to SQL可以创建Linq编程模型,并直接映射到关系数据库之上,可以直接创建表示数据的.NET Framework的类,并将这些类映射到数据库中的表、视图、存储过程、函数等。 与ADO.NET相比,LINQ数据访问技术具有以下优点: (1)Linq查询语法较为简单,容易书写,在创建查询表达式时VS20集成开发环境还提供了智能感知; (2)由于查询表达式被嵌入到变成语言中,因此,编译器将检查表达式的语法错误和查询数据的类型安全; (3)Linq自身提供了强大的过滤、排序、数据分区、分组等处理数据的功能(方法); (4)Linq可以直接处理XML元素,并为内存中的XML文档提供强大的处理功能; (5)Linq可以从容的处理多数据源和多数据格式的数据。 使用LINQ可以查询以下四种存储形式的数据:集合中的数据、数据库中的数据、DataSet对象中的数据、XML文件。以下就分别介绍这如何用LINQ查询访问这几种类型的数据。 1 LINQ查询集合中的数据 使用for或者foreach语句可以查询集合中的数据,使用LINQ使用查询表达式也可以更简洁地查询集合中的数据,下面我们就举例说明如何使用LINQ查询表达式访问集合数据。 【例11.9】使用LINQ查询sampleSet数据集合中序号为奇数的元素。 对于这个问题,我们首先要设计一个查询表达式,使用let子句保存元素的索引,采用where子句判断该索引是否是奇数,最后查询处符合条件的数组元素。可以使用如下查询表达式:“from s in sampleSet let index = Int32”查询sample

文档评论(0)

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

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

1亿VIP精品文档

相关文档