




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linq数据技LINQLINQ可以解决那些问题,第二步掌握并熟练使用LQIN♣LINQ♣LINQ♣LINQ♣LINQLINQ将查询直接引入到.NetFrameWork3.5所支持的编程语言(C#VB.Net等)中。LINQ查询查询与LINQ的区SQLXML结构数据的语言集成查询(LINQ)VisualStudio2008C#VisualBasic语言语法行扩展以支持几乎任何类型的数据。VisualStudio2008包含LINQ提供程序的程序集,这LINQ与.NETFramework集合、SQLServer数据库、ADO.NETXMLLINQ基本组LINQ是VisualStudio2008和.NetFramework3.5版中一项突破性的创新,它在对象领域和LINQ3部分组成:LINQtoADO.NETLINQtoObjects、LINQtoXML。其中,LINQtoADO.NET可以分为两部分:LINQtoSQL和LINQtoDataSet。LINQ可以查询或操作任何形式的数据,LINQ的组成说明如下: LINQtoDataSet组件,可以查询DataSet对象中的数据,并对这些数据进行检索、过 LINQtoObjectsIenumerableIenumerable<T>集合,也就是说可以查询任何可枚举的集合,如数据(Array和ArrayList、泛型列表List<T>、泛型字典Dictionary<T>等,以及用户自定义的集合,而不需要使用LINQ提供程序或API。 LINQtoXMLXML结构的数据(XML文档、XML片段、XML格式的字符串等LINQ查询表达式等功能,以及处理XML文档的全新的编程接口。 LINQADO.NET的关,这样显得很烦琐。使用LINQ可以把数据从数据库的表中传递到内存的对象中,并将数据源转换为基于IEnumerable的对象集合。这样,传统的操作数据库方法转换为使用LINQ查询和处理基于IEnumerableLINQ查询被嵌入到.NETFramework3.5支持的编程语言中,因此,在创建LINQ查询表达式时,可以使用VisualStudio2008的智能支持功能。LINQ提供了名称为LINQtoADO.NET的技术专门用来处理关系数据。其中,LINQtoADO.NET包括两种独立的技术:LINQtoDataSetLINQtoSQLLINQtoDataSet查询或处理DataSetLINQtoSQL和ADO.NET之间的关系,如图12.1所示。LINQto12.1LINQtoDataSet与ADO.NETLINQtoSQLLINQ编程模型,并直接映射到关系型数据库(SQLServer数据库等)之上。LINQtoSQL可以直接创建表示数据的.NETFramework的类,并将这些类映射到数据库中的表、视图、过程、函数等对象。因此,使用LINQtoSQL可以直接操作表LINQLINQ查询表达式是LINQ中非常重要的一部分内容,它可以从一个或多个给定的数据源询子句按照一定的规则组成。LINQ查询表达式包括:from子句、where子句、select子句、12.1LINQ查询子说form子指定查询操作的数据源和范围where子筛选元素的逻辑条件,一般由逻辑运算符组select子指定查询结果的类型和表现形orderby子对查询结果进行排序(降序或升序group子对查询结果进行分into子提供一个临时的标识符。该标识可以join、group和select子句的结join子连接多个查询操作的数Let子引入用于查询表达式中子表达式结果的范围变LINQfrom子formForm子句指定查询操作的数据源和范围变量。int[]values={1,2,3,4,int[]values={1,2,3,4,5,6,7,8,9,0varvalue=fromvinwherev<5selectv;Response.Write("查询结果foreach(varvin{Response.Write(v.ToString()+}12.2where子
12.2from子句。每一个where子句可以包含1个或多个布尔条件表达式。中演示的代码就使用where子句。int[]values={1,2,int[]values={1,2,3,4,5,6,7,8,9,0varvalue=fromvinwherev<9&&v>5selectv;Response.Write("查询结果foreach(varvin{Response.Write(v.ToString()+}12.3select子
12.3whereLINQ查询表达式中,select子句指定查询结果的类型和表现形式。LINQ查询表达式必须以select子句或group子句结束。int[]int[]values={1,2,3,4,5,6,7,8,9,0varvalue=fromvinwherev<5selectv;Response.Write("查询结果foreach(varvin{Response.Write(v.ToString()+}12.412.4selectgroupby子在查询表达式中,groupby子句对查询的结果进行分组,并返回元素类型为 protectedvoidPageLoad(objectsender,protectedvoidPageLoad(objectsender,EventArgs{int[]values={1,2,3,4,5,6,7,8,9,0varvalue=fromvingroupvbyv%2==0;foreach(variin{foreach(intjin{}}}12.512.5groupbyorderby子orderbyprotectedvoidPageLoad(objectprotectedvoidPageLoad(objectsender,EventArgs{int[]values={5,8,3,4,1,6,7,2,9,0varvalue=fromvinwherev<3||v>6orderbyvdescendingselectv;//输出查询foreach(variin{}}12.612.6orderbyinto子intojoin及select子句的结果。(1)创建数据源,int型数据,并且初始值“1,2,3,4,5,67,8,9,使用使用into子句创建临时标识符g查询结果where8protectedvoidPageprotectedvoidPageLoad(objectsender,EventArgs{int[]values={1,2,3,4,5,6,7,8,9,0varvalue=fromvingroupvbyv%2==0intowhereg.Max() //分组后查找组中大于8的selectforeach(variin{foreach(intjin{}}}12.712.7intoLINQLINQLINQ数据源,LINQDBML文SQLServer2005db_LinQLINQ数据源,详VisualStudio2008FrameworkSDKv3.5空单中选择“添加新项,弹出“添加新项”框,如图12.8所示。12.8SQLServer2005数据库中的db_LinQ映射到LinqDB.dbml中(tb_info表拖拽到设计视图中12.912.9映射tb_infoLinqDB.dbml文件创建一个名称为 据库提供查询或操作数据库的方法,LINQ数据源创建完毕。LinqDBD ontext类中的程序代码均自动生成,如图12.10所示。图12.10 ontext类中自动生成程序代使用LINQtoSQL可以实现查询数据库中的数据与传统的SQL语句或过程相比查询LINQtoSQLdb_LinQtb_info数据表中的数.创建一个WebFindInfo.aspxWebGridView在页面的Page_Load下编写LINQ查询代码LinqDBD ontextlqDBLINQID0result将result变量中的结果设置GridView控件的数据源并且绑定数据显示查询结果12.1112.11LINQprotectedprotectedvoidPageLoad(objectsender,EventArgs{ ontextlqDB= tbinfoinfo=newtbinfo();varresult=fromfinlqDB.tbwheref.ID>0selectf;GridView1.DataSource=result;}LINQtoSQL不仅可以实现查询数据库中的数据,而且还能能够实现向数据库中添加LINQtoSQLdb_LinQtb_info数据表中添加数据。实现该功能主Tabel<T>类的实例中,SubmitChanges方法计算要插入、更新或LINQ.WebAddInfo.aspxWebTextBox控件、DropDownList控件及按钮控件。在页面中按钮控件的Click下编写LINQ添加数据代码LinqDBD ontextlqDB实体类对象调用InsertOnSubmit()infolqDBtb_Info表中,其次再调用SubmitChanges方法将实体类中数据添加到数据库中,如图12.12所示。12.12LINQ{ ontextlqDB= tb_infoinfo=newtb_info();//要添加的内info.type=DropDownList1.Text;info.title=txtTitle.Text;=txtInfo.Text;info.linkman=txtLinkMan.Text; =txt //执行lqDB.tbinfo.InsertOnSubmit(info);}两小节中讲解了使用LINQtoSQL实现查询数据库中的数据和向数据库中添加数据。下面使用LINQtoSQL修改db_LinQ数据库中tb_info数据表中数据。使用LINQ修改数据库中数据的设计思路步骤如下.创建一个WebUpdateInfo.aspx在页面的的Load下编写LINQ修改数据代码LinqDBD ontextlqDBLINQ调用SubmitChanges方法将修改的数据保存到数据库中。数据修改前后如图12.1312.14protectedprotectedvoidPage_Load(objectsender,EventArgs{ ontextlqDB= //查询要修改的varresult=fromuinlqDB.tbwhereu.ID==478selectu;//设置修改该数foreach(tbinfoinfoin{="招聘若干名 业务人员,有经验者优先录用}}12.13
12.14LINQtoSQLLINQtoSQL实现删除数据库中的数据。.创建一个WebDeleteInfo.aspx在页面的的Load下编写LINQ修改数据代码LinqDBD ontextlqDBLINQresultDeleteAllOnSubmitSubmitChanges方法,删除指定的数据并提交到数据库中。删除数据前后如图12.15和12.16所示。protectedprotectedvoidPage_Load(objectsender,EventArgs{ ontextlqDB= //查询要删除的varresult=fromuinlqDB.tbwhereu.ID==1selectu;//删除数据,并提交数据库lqDB.tbinfo.DeleteAllOnSubmit(result);}12.1512.16LINQDropDownList12.3节中讲解了使用LINQLINQ查询的结果绑定到DropDownList控件中。LINQ查询结果绑定到DropDownList控件的设计思路步骤如下.LINQ12.3LinqDB.dbml创建一个Web窗体,命名为DropDownList.aspx,在Web窗体中主要添加一个DropDownList在页面的Page_Load下编写实现该功能的代码LinqDBD ontextlqDBLINQresult将result变量中的结果设置DropDownList控件的数据源,并且显示查询结果,如图12.17所示。12.17LINQDropDownListprotectedprotectedvoidPageLoad(objectsender,EventArgs{ ontextlqDB= ontext(ConfigurationManager.ConnectionStrings["db//查询varresult=fromuinwhereu.ID>1selectnew{Type=//绑定查询结DropDownList1.DataSource=result;}LINQGridView12.3节中讲解了使用LINQLINQ查询的结果绑定到GridView控件中。LINQ查询结果绑定到GridView控件的设计思路步骤如下.LINQ12.3LinqDB.dbmlWebGridView.aspxWebGridView控在页面的Page_Load下编写实现该功能的代码LinqDBD ontextlqDB创建LINQ存到result变量中。将result变量中的结果设置GridView控件的数据源并且显示查询结果如图12.18LINQGridViewprotectedprotectedvoidPageLoad(objectsender,EventArgs{ ontextlqDB= ontext(ConfigurationManager.ConnectionStrings["db//创建查询表达varresult=fromuinlqDB.tbwhereu.ID>1selectnew{GridView1.DataSourceresult;}LINQDataList12.3节中讲解了使用LINQLINQ查询的结果绑定到DataList控件中。LINQ查询结果绑定到DataList控件的设计思路步骤如下.LINQ12.3LinqDB.dbml<ItemTem<tablealign="center"cellpadding="0"cellspacing="0"<ItemTem<tabl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版九年级历史与社会上册教学设计3.1.2全面侵华战争的爆发
- 2025年中国高纯碘甲烷行业市场分析及投资价值评估前景预测报告
- 2025年中国呋喃酮甲醚行业市场分析及投资价值评估前景预测报告
- 二年级下册道德与法治教学设计-3你好 四季 第1课时 粤教版
- 爱育心以爱护航主题班会说课稿
- 第二十四课 学会自我保护《我的身体会说话》教学设计-心理健康五年级下册北师大版
- 第二十五章 概率初步 小结 说课稿 人教版九年级数学上册
- 九年级英语下册 Module 2 Environmental problems Unit 4 Natural disasters说课稿5 牛津深圳版
- 保利水管知识培训课件
- 中学心育课说课稿:网络那头的他(她)
- 设备编号管理标准与实施细则
- 变电站安全准入培训内容课件
- 2025年中医馆转让协议书
- 学堂在线 走进心理学 章节测试答案
- 国外设计管理办法
- 2025年湖南食品药品职业学院单招综合素质试题及答案解析
- 幼儿园中国速度主题课件
- 学堂在线 极区航海导航保障 期末考试答案
- 初中诚实守信说课课件
- 2025年全国统一高考英语Ⅰ卷(含解析)
- 小儿过敏性紫癜护理常规
评论
0/150
提交评论