LINQ语言基本文档.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文档。上传文档
查看更多
专题2:Web的后端开发 第章 LINQ语言基础 7.1 概述 计算机的主要任务之一就是处理数据,计算机程序可以简单归纳为: 计算机程序 = 程序语言 + 数据 随着计算机应用范围的扩展,数据的类型在不断增加.程序中需要处理各数据包括:自定义变量、内存中的数据集合、来自数据库的数据,XML和平面文件,另外还有Web Services以及RSS数据等等。不同类型的数据都有自己追求目标和不同的处理方法。例如: 对于自定义变量或者内存中的数据集合,通常用面向对象的方式来处理它们,将它们封装在类(对象)中,用属性来表示,用程序语言(如C#.NET、VB.NET、JAVA等)来处理;. 对于数据库中的数据,常用数据表、行和列,以及它们之间的关系来组织它们,用SQL语言来处理它们; 对于XML数据,常用文件标签、元素、属性等来表示和组织它们,用XPath、XQuery等方法来处理它们。 如果需要混合处理多种不同类型的数据时,就出现了不同方法和模式之间结合的问题。在LINQ技术以前,.NET中的传统方法是先建立一个数据访问层,并将各种语句的处理方法作为字符串嵌入到应用程序中。这种情况带来了一些问题,例如: 设计人员必须掌握不同类型数据的处理方法,以及如何将它们无缝连接的问题。这个要求增加了学习的难度; 嵌入式的结合有时并不理想。以数据库为例,由于SQL属于后编译语言,语言中的一些问题不能在程序编译阶段,而只能在运行中才能发现。 7..1 什么是LINQ LINQ 是 NET Language Integrated Query的缩写,中文名字是“NET 语言集成查询”,它是C#.NET 3.0语言的扩展,目前还能用于VB.NET语言(其发展的目标是能用于所有.NET语言)。与此同时,它还代表一组新的开发工具(Toolset)。 LINQ的目标是要将对各种不同类型数据的处理方式,统一在面向对象的模式之下.从而使得应用程序与数据的处理之间结合得更加紧密代码更加简洁、灵活。 如何才能实现这一目标呢? 实现的方法,就是在数据领域与对象领域之间架起一座桥梁,先将各种数据映射成"类"和"对象".然后再按照面向对象的方式来统一进行处理.映射的过程虽然比较复杂,但可以利用系统提供工具自动完成.系统的结构如图  所示: LINQ实际上包括LINQ to Objects、LINQ to XML、LINQ to SQL、LINQ to DataSet与LINQ to Entities等多个部分.通过LINQ providers先将它们统一建立一个抽象层,然后再用面向对象的模式进行处理。 7..2 为什么需要LINQ 创建LINQ的初期目标,是将各种类型的数据访问统一到面向对象的模式中来。进一步发展的目标则是在面向对象的基础上,吸收各种现代语言的精华(如强类型、现代动态语言、函数式语言等),C#.NET 语言。 可以说LINQ带来的好处,一是可以统一各种数据访问模式;二是可以使C#.NET语言大大向前跨进一步,并在这个基础上创建出一批强大的开发工具。 LINQ经过多年的研究和开发(原来使用的名字是nHibernat),已经取得了丰硕成果,程序开发语言已经变得更加简洁、抽象。目前这个技术还在进一步发展和改进之中。 7.2 C# 3.0语言的新特点(此略) 。。。 1.动态属性: 2.扩展方法: 3.泛型: 4.匿名类型: 5.Lambda Expression: 。。。 7.3 LINQ语言基础 7.3.1 基本语法结构 建立在关系代数基础上的 SQL 语言是一种优秀的函数语言,它语法简洁,描述性强,只需要表达需要什么,不需要规定执行过程(T-SQL语言中增加过程部分)。但是SQL语言也存在局限性: 第一、它不属于面向对象的语言; 第二、它只能用来访问关系型数据库系统。 现在,在LINQ的查询语句中采用了很多SQL语言的形式,如使用以下子句: from:用来确定数据源或变量的范围; where:从数据源中过滤数据; select:指定查询的结果; group:将相关的数据用共同的关键字(key)分组; into:将分组的结果暂存于一个变量中; orderby:将查询结果按照升序(ascending)或降序(descending)排列; join:根据关键字(key),将两个数据源联合; let:创建一个临时的变量来代表子查询的结果。 语句中还可以包括一些函数(方法)。如: Average:取元素的平均值; Count: 取元素的个数; Max: 取元素中的最大值; Min: 取元素中的最小值; Sum: 取元素值的总和; 这些都是在SQL语句中经常用到的,因此从形式上看,LINQ 语句与 SQL有很多相似之处。但尽管如此,应该明确,是两

文档评论(0)

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

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

1亿VIP精品文档

相关文档