- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 LINQ to SQL数据开发 通过前面的学习,读者已经了解到不同查询语言面向不同的数据源。比如,SQL查询是面向关系型数据库的,XQuery查询是面向XML的。为了从不同数据源或数据格式中获取数据,读者往往要学习不同的查询语法。这对一个初学者来说,是件很困难的事。LINQ定义了统一查询语法,可从不同数据源或数据格式中获取数据,从而减少了初学者的学习负担,大大提高了开发效率。LINQ包括5个部分:LINQ to Objects、LINQ to DataSets、LINQ to SQL、LINQ to Entities、LINQ to XML。本章主要结合具体实例来介绍如何运用LINQ to SQL操作关系型数据。 12.1 LINQ入门 LINQ是Language Integrated Query的简称,是一种新型数据查询语言。通过这种数据查询,可以使应用程序开发更加快捷、灵活。LINQ是数据对象与程序语言的桥梁和纽带。 12.1.1 LINQ查询语法结构 LINQ查询必须包括获取数据源、创建查询、执行查询3部分内容。 12.1.2 什么是LINQ to SQL LINQ to SQL是.NET3.0版本以上的一个组件,用于对LINQ与SQL查询进行“语言翻译”。LINQ to SQL就是LINQ聘请的翻译大师。这个翻译大师可以将LINQ查询翻译成SQL查询。LINQ to SQL首先通过编程语言创建对象模型,接着通过程序实时翻译成SQL查询,以映射到关系数据库的数据模型,从而实现查询操作关系型数据库。 12.2 DataContext与实体类 DataContext又称为数据上下文,DataContext类是一个LINQ to SQL类。该类充当SQL Server数据库与LINQ to SQL实体类之间的管道。DataContext类就如日常生活中的遥控器,LINQ to SQL实体类就如遥控器中的电子电路。人们按遥控器(DataContext类)上的功能按钮通过遥控器的电子电路(实体类)发射遥控信息,连接电器(SQL Server数据库),使之启动相应的功能(映射的数据表)。 12.2.1 搭建开发环境 前面已经说过,LINQ to SQL是一个项目组件。首先应该将其添加为网站引用,具体操作步骤如下所示。 12.2.2 定义实体类 DataContext是实体类和数据库之间的桥梁,因此首先要定义映射数据表的实体类。实体类就像是数据表的“克隆体”,其定义是根据数据表各列的属性来实现的。定义实体类,采用一般类的定义方法。下面的实例根据数据表Customers,创建一个实体类。 12.2.3 创建DataContext连接数据库 创建DataContext就是为了连接数据库,将LINQ to SQL对象模型映射到相应的数据库。只有创建一个DataContext,并通过该类下的GetTable方法将数据表映射连接到实体类,才可以实现查询操作数据库的目的。下面通过实例讲解创建DataContext,并一步步实现查询操作数据库的过程。 12.2.4 添加日志方便LINQ调试 DataContext类中的日志功能可以记录LINQ翻译成SQL的结果,这样有利于应用程序的调试。添加日志功能一般是通过文件流方式输出创建的。创建日志功能,其实就是输出LINQ转换成的SQL查询语句。通过LINQ输出日志有利于对LINQ查询进行调试,同时也有利于与SQL查询进行比较。 12.2.5 执行SQL查询 LINQ to SQL可以实现90%以上的SQL查询。但由于LINQ to SQL要转换为SQL查询,才可以查询操作关系型数据库。对于一些较为复杂数据查询,直接通过SQL查询的效率比LINQ查询更好。因此,DataContext类型也提供了直接执行SQL语句的功能。下面通过实例来演示DataContext类实现直接执行SQL语句的功能。 12.2.6 创建强类型DataContext 创建强类型DataContext,就是把实体类、DataContext的构造函数封装为DataContext的成员与方法。经过这样的封装后,当创建强类型DataContext的一个实例与数据库连接,就可以自动把数据表映射连接到相应的实体类,进而可以在程序中通过“.”直接访问实体类的属性及方法。 12.2.7 创建、删除数据库
您可能关注的文档
- 第6章 逆变器.ppt
- 第4单元构建无线局域网.ppt
- 第4章差动放大电路与集成运算放大电路的应用.ppt
- 第6章放大电路的反馈a.ppt
- 第3章k数字信号处理.ppt
- 第2章 放大电路(蔡大华).ppt
- 第5、6课 电抗式传感器10.ppt
- 第06章 MCS-51单片机定.ppt
- 第5章 计算机控制系统案例.ppt
- 第5章 传感器及应用电路设计.ppt
- 制动系统的特点项目一58课件.pptx
- 直接工程费价外运杂费填料费铁路工程施工组织与概预算78课件.pptx
- 主备用控制中心的切换LCF300型25课件.pptx
- 智能交通系统的相关技术任务三车辆自动驾驶技术王怡安徽交通6.pptx
- 智能交通监控系统任务三城市交通诱导系统诱导系统的组成王怡安.pptx
- 智能交通监控系统任务二城市交通监控系统王怡安徽交通67课件.pptx
- 直升机的特点和分类空气动力学基础与飞行原理86课件.ppt
- 直升机的飞行性能空气动力学基础与飞行原理67课件.ppt
- 职业形象塑造3职业教育国际邮轮乘务管理专业教学化妆与形象设.pptx
- 轴向拉压杆件的线应变和胡克定律张亚琴河北交通52课件.pptx
文档评论(0)