- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LINQ
LINQ
深入浅出谈LLIINNQQ
引子:案例
某君被邀为一超市设计数据库,用来存储数据。该君根据该超市中实际出现的对象,设计了
Customer,Employee,Order,Product 等表,用来保存相应的客户,员工,订单,货品等。太
好了,该君很有oo的思想吗。
如果,你被要求用类及对象,来描述该关系型数据,你该如何做呢?在linq 推出之前,
ADO.NET被用来做数据访问层。而后,程序员需要自己去编写事务逻辑层中所出现的类。
比如,Customer, Employee,Order, Product 等。然后,程序员组装所需的sql 语句,通过
ADO.NET,将返回的记录,来初始化Customer 等类的对象。在这里,你已经自己动手将
Customer 表和Customer 类关联了起来。从Linq To Sql 的设计来看,它主要是为了解决
data!=objects 的问题而产生的。现在,有了Table 和Class 之间的映射,数据和对象之间就
可以有一个一一对应的关系了。
在 Linq To Sql 之前,在 java 领域有 Hibernate,在net 领域有 NHibernate 技术,来实现
object/relational 持久和查询服务。无论是Hibernate 还是NHibernate,其配置复杂,上手时
间长,已经不能适应快速开发的需要。而LinqTo Sql 的推出,恰恰弥补了它们的缺点,彻
底降低了程序开发门槛。
LINQ,语言级集成查询(Language IntegratedQuery)
经过了最近 20 年,面向对象编程技术( object-oriented (OO)programming technologies)在工
业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经认同像类(classes)、对象
(objects)、方法(methods)这样的语言特性。考察现在和下一代的技术,一个新的编程技术的
重大挑战开始呈现出来,即面向对象技术诞生以来并没有解决降低访问和整合信息数据
( accessingand integrating information )的复杂度的问题。其中两个最主要访问的数据源与数
据库和 XML 相关。
LINQ 提供了一条更常规的途径即给 .Net Framework 添加一些可以应用于所有信息源( all
sourcesof information )的具有多种用途( general-purpose)的语法查询特性( query facilities ),
这是比向开发语言和运行时( runtime )添加一些关系数据( relational )特性或者类似 XML 特
性( XML-specific )更好的方式。这些语法特性就叫做 .NET Language Integrated Query
(LINQ) 。
LINQ 在开发中的地位
DLINQ *.dbml 文件该属于哪一层,的确Linq toSql 存在问题,DLINQ 中,虽然可以在语言
层级定义查询逻辑。但是依然没有将数据库持久化数据映射为领域对象,所以还是一种针对
数据库的编程模型。
LINQ是微软将在C#3.0中将推出的语言集成查询技术,许多人也将LINQ叫做微软的ORM。
LINQ 不仅仅针对关系数据库,它只是解决一个问题Data!=Object,也就是说他解决的就是
Data=Object.。作为底层框架,可以为ORM 实现提供更强大的基础平台。在Linq 之前在.net
领域最流行的框架就是Nhibernate。是不是在LINQ 之后Nhibernate就要消失呢?答案自然是
否定的。
这里有个帖子Microsoft LINQ +NHibernate,在那篇帖子中,作者列举了三大原因:
在DLINQ 中,虽然可以在语言层级定义查询逻辑。但是依然没有将数据库持久化数据映射
为领域对象,所以还是一种针对数据库的编程模型。而Nhibernate则可以直接将关系数据映
射为领域模型,这是DLINQ 的主要问题。
DLINQ 不支持继承类的映射。
Nhibernate已经提供了许多帮助进行领域面向对象建模的特征。而DLINQ 目前还无法拥有。
而LINQ + NHibernate的好处则是:类型安全的查询,并且能使用智能提示功能!这样可以不
用学习HQ
您可能关注的文档
最近下载
- 沙龙主持课件.pptx VIP
- 一元微积分A函数的微分 微分的计算和应用-精品·公开课件.ppt VIP
- 2025年TOD模式在城市轨道交通站点周边居住社区建设研究.docx VIP
- 《我的鞋带我会系》小学一年级劳动教育PPT课件.ppt VIP
- 第10课五四运动和中共成立导学案.doc VIP
- 金蝶云星瀚初级实施交付.pptx VIP
- 船舶行业重大生产安全事故隐患判定标准CBT4501-2019.pdf VIP
- 兄弟 DCP-7080 7080D 7180DN MFC7380 7480D 7880DN 维修手册.pdf VIP
- 椭圆 大单元教学设计【高中数学人教】.docx VIP
- 统编版小学语文三年级上册 古诗三首 《望洞庭》 教学PPT课件.pdf VIP
文档评论(0)