初识 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文档。上传文档
查看更多
? 培训课程| 现场咨询| CMM咨询| 产品研发| 火龙果软件? 首 页 UML基础 UML应用 MDA OOAD 设计模式 UML与代码 UML规范 软件需求 软件架构 软件测试 配置管理 项目管理 集成与构建 工程基础 工程案例 文档模板 行业应用 界面设计 质量管理 过程改进 IT生活 CMMI 研发过程 企业信息化 ITIL服务 JAVA .NET C/C++ AJAX XML SOA 数据库 工作流 编码规范 嵌入式 MyProcess WebSharp Pacer建模 ? LINQ(1):初识 LINQ ? 2009-05-12 作者:孟宪会 来源:孟宪会的Blog ? 为什么需要LINQ? 面向对象的编程语言已经成为企业应用开发的重要工具,ADO.NET对关系数据提供了一种方便的接口,但还不是一种面向对象的方法。例如,下面的伪代码: User?u?=?new?User();?//代表user表的一个User类 u.LoginName?=?net_lover?//设置一个LoginName标识 u.Load();?.//加载用户信息 u.Title?=?【孟子E章】;?//将Title修改为【孟子E章】 u.Update();?//将修改的数据更新到数据库。 这段伪代码说明了管理数据的一种面向对象的方法,对开发人员来说,看不到查询或SQL语句。你只需关心的只是做什么,而无需关心怎么做。这种将面向对象和关系数据结合在一起的方法叫做对象关系映射(ORM)模型,这样的方法简化了枯燥的数据操作,简洁明了。 关于ORM,在Java世界里有很多框架,但在.NET Framework里还比较少,NHibernate就是Microsoft .NET平台下ORM的实现,它的目的是将开发人员从大量的关系数据持久化相关的编程中解放出来。目前,NHibernate的稳定版本是NHibernate 1.2.1,于2007年11月份发布,加入了Hibernate 3中的更多功能,并且支持 .NET 2.0,存储过程,泛型和可为空类型。NHibernate 2.0目前正在开发中。毕竟NHibernate属于开源的代码,不是微软自己的东西,而且它处理的数据源也有限。VS 2005中NHibernate的插件下载地址:/projects/nhibernateaddin。 尽管微软在Dynamics 3.0应用服务器中嵌入了ORM功能,并且在ADO.NET 3.0中将广泛支持此功能,但是还仍然没有将这种编程模型提供给.NET开发人员。ADO.NET中数据的操作采用的是Command或者DataAdapter对象来操作关系数据库,但需要自己写的代码很多,并且需要自己写SQL语句。 .NET也提供了处理XML和非关系数据源,但是我们必须了解其他的方法来查询信息,比如XPath或者XQuery。 现在,可以编程管理的数据可能来自不同的数据域,如数组、对象关系图、XML文档、数据库、文本文件、注册表、电子邮件消息、简单对象访问协议(SOAP)信息内容、Microsoft Office Excel文件等等很多。每种数据域都有自己特定的访问模型,例如,当查询数据库时,通常使用SQL,当遍历XML数据时,使用Document Object Model(DOM)或者XPath、XQuery,当遇到数组是采用遍历的方法,对于对象关系图,则需要自己创建算法,对于Excel文件,电子邮件消息或者Microsoft Windows注册表,要访问他们,则需要使用特定的应用程序编程接口(API)。到最后,访问不同的数据源就要使用不同的编程模型。 将多种数据访问技术统一到一个全面的模型也曾出现过,例如:开放数据库互联(ODBC)提供者允许开发人员以一种类似SQL的语言通过关系模型访问数据。在某些时候,数据以层次或者图形模型来表示更加符合数据的本质含义。另外,如果数据模型没有与编程语言结合在一起,就可能需要编程人员自己管理不同的类型体系。所有这些差别在数据和代码之间产生一种“阻抗失谐”。LINQ就是解决这些问题的技术,它提供统一的访问和管理数据的方法,并且不是采取“一刀切”的模型来实现。LINQ在这些数据模型之间均衡操作直接的共同特性,而不是在他们之间将不同的结构变成统一。 什么是LINQ? LINQ是Language Integrated Query的缩写,翻译成汉语就是语言集成查询。搜索一下网络,可以发现很多关于LINQ的描述: 1,LINQ是所有类型数据的统一编程模型,它可以让你使用一致的模型查询和使用数据,而不用关心数据源是什么。 2,LINQ是一种将SQL查询嵌入到代码中的另一种工具 3,LINQ是另外一种数据抽象层。 以上这些描述在某种程度上都是正确的

文档评论(0)

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

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

1亿VIP精品文档

相关文档