浅谈LINQtoSQL技术的应用

来源 :速读·下旬 | 被引量 : 0次 | 上传用户:fanhaoguohuifang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文就数据库查询问题介绍了LINQ技术,剖析了LINQ技术的特点和组成部分,对其中的LINQ to SQL技术应用做了重点阐述。此技术使用类似SQL的语法将查询操作直接引入到NET框架所支持的编程语言中,可查询外部数据源及内存等任何形式数据,操作简单实用,为降低数据库开发门槛,提升开发效率有着积极的意义。
  关键词:LINQ;数据库查询;LINQ to SQL
  1 引言
  传统的数据查询技术繁多且使用复杂,使得开发的难度较高。在这里,笔者发现LINQ技术在进行数据查询时具备很好的语法检查、丰富的元数据、智能感知和静态类型等强类型语言之类的优点,并且能查询内存中的数据而不只是外部数据源。这使我们可以用一种类似SQL语法的代码来查询任何形式的数据,让开发变得简单起来。
  2 LINQ技术的特点及组成
  LINQ(Language-Integrated Query)是微软于C#3.0推出的.Net平台下的框架产品,提供了固定的编程模型,采用面向对象思维方式使用相同的代码模式来对任何能兼容LINQ的数据进行操作。
  LINQ的查询处理包含三个操作:①获取数据源;②创建查询;③执行查询。在LINQ里,查询的执行和查询的构造本身是截然不同的。如果只是创建查询变量,则不会查询数据,只有访问查询变量时才执行查询。这就是LINQ的延迟查询。
  LINQ由三部分组成:LINQ to Objects,LINQ to ADO.NET,LINQ to XML.其中LINQ to ADO.NET又细分为三部分:LINQ to SQL,LINQ to Data Sets,LINQ to Entities。
  LINQ to Objects用来查询内存中的数据对象集合;LINQ to SQL用来查询SQL Server 200x数据库的表;LINQ to Data Sets用来查询ADO.NET Data Sets,LINQ to XML用来查询XML数据,LINQ to Entities用来查询ADO.NET框架中的业务实体。
  3 LINQ to SQL查询
  通过使用LINQ to SQL,生成表示数据的.NET Frame work类。这些生成的类直接映射到数据库表、视图、存储过程和用户定义的函数,而不映射到概念数据模型。当应用程序运行时,LINQ to SQL会将对象模型中的语言集成查询转换为SQL后发送到数据库中执行。当数据库返回结果时,LINQ to SQL会将它们转换回编程语言处理的对象。
  3.1 LINQ to SQL实体类的映射
  该实体类用于对象——关系映射(ORM):①首先准备好数据库对象,然后建立实体类;②使用LINQ to SQL执行Delete操作,用Delete On Submit和Delete All On Submit方法来删除数据;③LINQ to SQL中的Attach和Attach All方法用来在多层结构的程序中更新数据,将实体附加到数据上下文的数据表,而表示界面层用Sub-mit Changes方法来更新数据库。从数据库中检索数据,由于是采用基于表达式树的查询机制,要通过对Queryable类的扩展方法完成,如用where方法来根据条件筛选并返回数据,用Last方法来返回满足条件的最后一条记录等。
  3.2 Linq Data Source控件
  在Web应用程序中操作数据时,通过使用Linq Data Source控件来自动创建与数据进行交互的命令,简化网页代码。Linq Data Source控件与数据库的数据交互时,不直接连接数据库,而是与数据库和表相关联的实体类交互。Linq Data Source控件与Sql Data Source控件相比有很大的优势,无需设置SQL查詢命令对数据的绑定和操作,Linq Data Source控件将使用LINQ to SQL自动创建,当更新或插入数据时,将Data Field属性与实体类中的属性名进行匹配即可。页面通过数据源Linq Data Source控件和显示数据的Grid View控件就可以实现数据的操作。
  4 结束语
  数据查询是从一个特定结构的数据源中取出数据。不同结构的数据源很可能会形成不同查询语言,从而导致开发者进行跨数据源的数据操作难度急剧增加。而LINQ则提供固定的编程模型,兼容各种数据格式,使得数据查询难度大大降低。与传统的查询方式相比,LINQ解决了不同数据源之间难以共同引用的问题,无需学习各类查询语言,让程序的可读性、灵活性迅速提高。同时因为查询语句的统一,这就使得程序开发的门槛变低,提高了开发效率,还具有了良好的可重用性和扩展性。
  参考文献
  [1]胡玉贵.C#下的Linq简介[J].电脑知识与技术(学术交流),2007.
  [2]陈娟.基于Frame work3.5的LINQ技术探究[J].微计算机信息,2010.
  [3]韩双旺.LINQ数据库访问技术研究[J].自动化与仪器仪表,2011.
  [4]舒国军,黄刚.LINQ to SQL技术在Web开发中的应用[J].遵义师范学院学报,2012.
  [5]赵志刚.ASP.NET中基于LINQ的数据访问[J].沈阳师范大学学报(自然科学版),2009.
  作者简介
  张红实(1977—),男,重庆人,重庆工程学院软件开发专业教师,副教授,计算机软件与理论硕士,研究方向:ERP软件开发及相关教学实施与研究。
其他文献
古琴艺术的传承与发展,既与研究者、表演者有着密切的关系,也与传播受众有着极大的联系.古琴艺术的生存发展,离不开他们的努力.然而,伴随着现代社会的的发展,文化的转型以及
This paper investigates the transmission process and modes of education imformation and their intrinsic requirements. It is suggested that information technolo
解决“股权分置”这个股市头号难题,能积极推动资本市场的改革。但这一问题的解决并不代表市场所有根本问题的解决。当前资本市场还要在金融产品创新、交易制度、发行制度等
摘 要:现在每一个家里只有一个孩子,可以说父母把一切的一切都给了孩子,所以造成了每一个孩子都很自私,不愿意去把自己的东西分享给周围的好朋友,只想让别人去关心她,而不去关心别人,总是认为爸爸妈妈、爷爷奶奶、周围的阿姨叔叔关心我是应该的,其实,分享是孩子品德中不可缺少的一部分,懂得去与别人分享的孩子,他必定是一个懂得关心别人的孩子,不去与别人分享的孩子,他必定是一个自私的孩子,如果一直这样下去,不利于
Abstract:Present study collected 109 data of self-concept,brand personality and brand loyalty selected by preliminary research on consumers from mainland China.The result shows that the male score is
摘 要:錯误是语言发展的必经阶段。L2学习者在英语冠词习得中会出现不同程度的困难。针对这一问题,Ionin(2004)提出“冠词语义选择波动假说”,认为母语中无冠词系统的二语习得者在习得英语冠词时,会在“冠词选择参数”之间波动。  关键词:冠词;冠词选择参数;冠词语义选择波动假说  一、 引言  二语习得研究的理论基础是生成语法,观点认为二语习得是一个参数值设置的过程(White 1990)。例如
客家山歌是客家优秀文化的典型代表,它寄予了客家一代代人的情怀,是客家人的精神食粮,但随着时代的发展,贺州客家山歌文化日益呈现边缘化的趋势.因此,探讨客家山歌的演变、传
目的观察乌骨藤粗提取物(MTE)不同组分对大鼠C6胶质瘤细胞增殖情况的影响,探讨其作用机制。方法采用新型四氮唑盐法(MTS)检测MTE的Fr1、Fr2、Fr3组分对C6细胞增殖的影响;采用
目的探讨血管内皮生长因子(VEGF)、表皮生长因子受体(EGFR)及Parkin蛋白在鼻咽癌(NPC)中的表达情况以及三者间的相关性。方法应用免疫组化SP法检测48例NPC组织和34例正常鼻咽
移动式玉米种子加工中心P—497—A型种子加工设备,具有移动式玉米种子加工厂的特点,用于王米种子的脱粒、清选、分级、药物处理和装袋,它可以在农场间穿梭服务,就地为农民提供干净、分