NET平台下LINQ_TO_SQL关键技术的实践研究.doc_第1页
NET平台下LINQ_TO_SQL关键技术的实践研究.doc_第2页
NET平台下LINQ_TO_SQL关键技术的实践研究.doc_第3页
NET平台下LINQ_TO_SQL关键技术的实践研究.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.NET平台下LINQ TO SQL关键技术的实践研究徐照兴作者简介:徐照兴(1979-),男,副教授,硕士,主要研究方向为Web数据库应用程序开发、计算机应用技术教学、智能信息系统开发 (江西服装学院服装商贸分院,江西 南昌 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;数据访问PracticeResearch on the Key Technology of LINQTOSQLUsing .NET PlatformXU Zhao-xing(Department of clothing commerce & trade,Jiangxi Institute of Fashion Technology,Nanchang Jiangxi 330201,China)Abstract:LINQtoSQLbetween objects in afield and the datafield ofa bridge, Using the LINQtoSQL can be simplifiedto SQLServer database operation. This paperintroduces theLINQtoSQLTechnology Overview,Explains thestepsto createthe LINQtomethod formapping SQLentity class and matters needing attention,Gives the LINQ to SQL access SQL Server database query, delete, modify, update, operating key points 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技术基础上的,它能够把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会将对象模型中的语言集成查询转换为SQL,然后将它们发送到数据库进行执行。当数据库返回结果时,LINQ to SQL会将它们转换回编程语言处理的对象。使用LINQ to SQL时,需要通过LINQ to SQL在关系数据库和编程语言(可以使C#、VB.NET等,本文实例选用C#)之间创建对象相关映射。主要的对应关系有:关系数据模型中的表对应LINQ to SQL对象模型中的实体类,关系数据模型中的表的字段对应LINQ to SQL对象模型中的类成员,关系数据模型中的外键关系对应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创建DBTeacher数据库为例):1、建立一个web网站,点击“工具”菜单下的“选项”命令,弹出选项对话框,在该对话框左侧点开“数据库工具”,选择下面的“O/R Designer”,在右侧把“名称的复数形式”启用设置为“True”。2、创建数据库(DBTeacher)并建立表(tbTeacherInfo)在Visual Studio2012平台右侧的解决方案资源管理器的解决方案中添加App_Data文件夹,然后在该文件夹下添加SQL Serve数据库文件DBTeacher。然后通过左侧的服务器资源管理器为数据库DBTeacher建立表tbTeacherInfo,在此只是为了说明问题,只创建三个字段,分别是TeacherID(主键)、TeacherName及Title,并向该表任意添加几条记录(作为测试用)。3、右击站点根目录,选择“添加”|“添加新项”,在已安装模板中再选择“LINQ to SQL类”,并设置名称为DBTeacher.dbml(注意,此处LINQ to SQL类名称的主文件名最好与数据库主文件名一致),单击“确定”之后,提示把DBTeacher.dbml文件放在App_Code文件夹下,单击“是”即可。4、在服务器资源管理器中,将tbTeacherInfo表拖动到“对象关系设计器” DBTeacher.dbml的窗口中,tbTeacherInfo表及其列在设计器窗口中由名为tbTeacherInfo的实体表示。此过程在web.config文件中会自动生成链接数据库的字符串,名称为“数据库主文件名”+“ConnectionString”。更主要是在DBTeacher.designer.cs中会自动生成必要的代码。3 LINQ to SQL访问数据库的主要操作技术创建映射到数据库表和视图的 LINQ to SQL实体类之后,就可以直接通过LINQ to SQL技术访问数据库了,访问数据库主要包括查询、添加、删除、修改等操作。它们实现的一般步骤如下:首先,根据LINQ to SQL实体类,创建一个数据上下文对象。其次,采用查询语法,根据实际操作执行相应的LINQ查询,并将结果赋予一个变量。如果知道了操作结果最多只有一条记录,采用方法语法时使用SingleOrDefault ()方法实现往往更方便快捷。最后,据查询的结果,进行相应的数据绑定或给出相应的提示。下面给出查询、添加、删除、修改四种操作的核心代码。1、查询操作(以按教师编号查询为例)DBTeacherDataContext teacherDC = new DBTeacherDataContext();String SelectID = TextBoxID.Text;var Results=from tbTecaherInfo 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. 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 teacherinfo =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.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数据库的查询、添加、删除、修改操作的实现核心代码,并进行了详尽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论