net平台下linq_to_sql关键技术的实践研究

上传人:第*** 文档编号:34612700 上传时间:2018-02-26 格式:DOC 页数:4 大小:67KB
返回 下载 相关 举报
net平台下linq_to_sql关键技术的实践研究_第1页
第1页 / 共4页
net平台下linq_to_sql关键技术的实践研究_第2页
第2页 / 共4页
net平台下linq_to_sql关键技术的实践研究_第3页
第3页 / 共4页
net平台下linq_to_sql关键技术的实践研究_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《net平台下linq_to_sql关键技术的实践研究》由会员分享,可在线阅读,更多相关《net平台下linq_to_sql关键技术的实践研究(4页珍藏版)》请在金锄头文库上搜索。

1、.NET平台下 LINQ TO SQL关键技术的实践研究徐照兴 1 (江西服装学院服装商贸分院,江西 南昌 330201)摘 要: LINQ to SQL 在对象领域和数据领域之间架起了一座桥梁,利用 LINQ to SQL 可以简化对 SQL Server 数据库的操作。介绍了 LINQ to SQL 技术要点,阐述了创建 LINQ to SQL 实体类的映射的步骤方法及注意事项,给出了 LINQ to SQL 访问 SQL Server 数据库的查询、删除、修改、更新操作要点及实现的核心代码。关键词:LINQ to SQL;.NET;SQL Server;数据访问Practice Rese

2、arch on the Key Technology of LINQ TO SQL Using .NET PlatformXU Zhao-xing(Department of clothing commerce & trade,Jiangxi Institute of Fashion Technology,Nanchang Jiangxi 330201,China)Abstract:LINQ to SQL between objects in a field and the data field of a bridge, Using the LINQ to SQL can be simplif

3、ied to SQL Server database operation. This paper introduces the LINQ to SQL Technology Overview,Explains the steps to create the LINQ to method for mapping SQL entity class and matters needing attention,Gives the LINQ to SQL access SQL Server database query, delete, modify, update, operating key poi

4、nts and the core of the implementation code.Key words:LINQ to SQL;.NET ;SQL Server;Data Access引言LINQ(Language Integrated Query语言集成查询)是.NET Framework3.5 中的创新性数据访问技术,使程序员不必精通数据库就能快速开发数据库应用程序。传统的ADO.NET 数据库访问技术,需要针对不同的数据库编写不同的 SQL 语句,要求程序员要熟练各种数据库及 SQL 语法等,还有如果 SQL 语句写错了,只有到运行时才能发现。LINQ 是建立在 ADO.NET 技术

5、基础上的,它能够把 LINQ 查询自动转换成 SQL 语句。1 LINQ to SQL 技术概述LINQ 是革命性的编程技术,它改变了程序和数据之间的关系。LINQ to SQL 是针对访问 Microsoft SQL Server 和 Oracle 数据库的 LINQ 版本,它通过以对象形式来管理关系数据库。传统方法使用 SQL 数据库需要掌握必要的 SQL 知识,在编程语言中嵌套 SQL 语句,或者把包含 SQL 语句的字符串传送给面向 SQL 的数据库类库中的 API 调用或方法。LINO to SOL 可以处理与 SOL 数据库通信的所有细节。当应用程序运行时,LINQ to SQL

6、会将对象模型中的语言集成查询转换为 SQL,然后将它们发送到数据库进行执行。当数据库返回结果时,LINQ to SQL 会将它们转换回编程语言处理的对象。作者简介:徐照兴(1979-),男,副教授,硕士,主要研究方向为 Web 数据库应用程序开发、计算机应用技术教学、智能信息系统开发使用 LINQ to SQL 时,需要通过 LINQ to SQL 在关系数据库和编程语言(可以使C#、VB.NET 等,本文实例选用 C#)之间创建对象相关映射。主要的对应关系有:关系数据模型中的表对应 LINQ to SQL 对象模型中的实体类,关系数据模型中的表的字段对应 LINQ to SQL 对象模型中的

7、类成员,关系数据模型中的外键关系对应 LINQ to SQL 对象模型中的关联,关系数据模型中的存储过程或函数对应 LINQ to SQL 对象模型中的方法。2 创建 LINQ to SQL 实体类的映射使用 LINQ to SQL 访问数据库的第一步是要创建映射到数据库表和视图的 LINQ to SQL 实体类,该实体类的属性映射到所选表或视图中的列(字段) 。创建的方法有多种,比如手动编码、用 XML 文件映射等,但是使用 Visual Studio 平台提供的 O/R 对象关系设计器最为方便,步骤如下(在此以 Visual Studio2012 平台、SQL Server2008 创建D

8、BTeacher 数据库为例):1、建立一个 web 网站,点击“工具”菜单下的“选项”命令,弹出选项对话框,在该对话框左侧点开“数据库工具” ,选择下面的“O/R Designer”,在右侧把“名称的复数形式”启用设置为“True” 。2、创建数据库(DBTeacher)并建立表(tbTeacherInfo)在 Visual Studio2012 平台右侧的解决方案资源管理器的解决方案中添加 App_Data 文件夹,然后在该文件夹下添加 SQL Serve 数据库文件 DBTeacher。然后通过左侧的服务器资源管理器为数据库 DBTeacher 建立表 tbTeacherInfo,在此只

9、是为了说明问题,只创建三个字段,分别是 TeacherID(主键) 、TeacherName 及Title,并向该表任意添加几条记录(作为测试用) 。3、右击站点根目录,选择“添加”|“添加新项” ,在已安装模板中再选择“LINQ to SQL 类” ,并设置名称为 DBTeacher.dbml(注意,此处 LINQ to SQL 类名称的主文件名最好与数据库主文件名一致) ,单击“确定”之后,提示把 DBTeacher.dbml 文件放在 App_Code文件夹下,单击“是”即可。4、在服务器资源管理器中,将 tbTeacherInfo 表拖动到“对象关系设计器” DBTeacher.dbm

10、l 的窗口中,tbTeacherInfo 表及其列在设计器窗口中由名为tbTeacherInfo 的实体表示。此过程在 web.config 文件中会自动生成链接数据库的字符串,名称为“数据库主文件名”+“ConnectionString” 。更主要是在 DBTeacher.designer.cs中会自动生成必要的代码。3 LINQ to SQL 访问数据库的主要操作技术创建映射到数据库表和视图的 LINQ to SQL 实体类之后,就可以直接通过 LINQ to SQL 技术访问数据库了,访问数据库主要包括查询、添加、删除、修改等操作。它们实现的一般步骤如下:首先,根据 LINQ to SQ

11、L 实体类,创建一个数据上下文对象。其次,采用查询语法,根据实际操作执行相应的 LINQ 查询,并将结果赋予一个变量。如果知道了操作结果最多只有一条记录,采用方法语法时使用 SingleOrDefault ()方法实现往往更方便快捷。最后,据查询的结果,进行相应的数据绑定或给出相应的提示。下面给出查询、添加、删除、修改四种操作的核心代码。1、查询操作(以按教师编号查询为例)DBTeacherDataContext teacherDC = new DBTeacherDataContext();String SelectID = TextBoxID.Text;var Results=from tb

12、TecaherInfo in teacherDC. tbTecaherInfos where tbTecaherInfo.TeacherID=SelectID select tbTecaherInfo ;if (Results.Count() = 1) GVshow.DataSource = Results; 2、删除操作(以按姓名删除为例)DBTeacherDataContext tdc = new DBTeacherDataContext();string delname = TextBoxName.Text;var Results = from tbTecaherInfo in tdc.

13、 tbTecaherInfos where tbTecaherInfo.TeacherName = delname select tbTecaherInfo;if (Results.Count() 0) int delNumers = Results.Count();foreach (var del in Results) tdc.tbTecaherInfos.DeleteOnSubmit(del); 3、添加操作DBTeacherDataContext tdc = new DBTeacherDataContext();string Stitle; tbTecaherInfo teacheri

14、nfo =tdc. tbTecaherInfos.SingleOrDefault(t=t.TeacherID =TextBoxID.Text);if (teacherinfo = null) tbTecaherInfo s1 = new tbTecaherInfo TeacherID = TextBoxID.Text , TeacherName = TextBoxName.Text , Title = Stitle ;tdc. tbTecaherInfos.InsertOnSubmit(s1); 4、修改操作(以根据教师编号进行修改为例)string UpdateID = TextBoxID.

15、Text;DBTeacherDataContext tdc = new DBTeacherDataContext();tbTecaherInfo teacherinfo =tdc. tbTecaherInfos.SingleOrDefault(t=t.TeacherID =TextBoxID.Text);tbTecaherInfo.TeacherName = TextBoxName.Text;结束语LINQ to SQL 在对象领域和数据领域之间架起了一座桥梁,使程序员可以不必过多的关注 SQL 语句的编写,而是把精力集中在业务逻辑的实现上。文章分析了 LINQ to SQL 的关键技术,给出了访问 SQL Server 数据库的查询、添加、删除、修改操作的实现核心代码,并进行了详尽的解释,读者可以从中快速掌握 LINQ to SQL 技术。参考文献:1 亓传伟. 一步步学 LINQtoSQL(一) LINQtoSQL 入门J.电脑编程技巧与维护,2011(11):56-60.2 亓传伟. 一步步学 LINQtoSQL(二) LINQtoSQLSQL 对数据库增_删_改及查询J.电脑编程技巧与维护,2011(13):25-29.3 舒国军,黄刚. LINQ to SQL 技术在 Web 开发中的应用J. 遵义师范学院学报,2012(14):87-89.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号