数据库访问方法-LINQ

数据库访问方法-LINQ

ID:41851058

大小:1.93 MB

页数:38页

时间:2019-09-03

数据库访问方法-LINQ_第1页
数据库访问方法-LINQ_第2页
数据库访问方法-LINQ_第3页
数据库访问方法-LINQ_第4页
数据库访问方法-LINQ_第5页
资源描述:

《数据库访问方法-LINQ》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库访问方法--LINQ讲解——组员:陈家平、李超、彭兵、于杰、何新佳LINQ简介一、什么是LINQ二、LINQ要解决的问题及其优点三、LINQ原理浅析四、LINQ分类五、如何使用LINQTOSQL一、什么是LINQLINQ是LanguageIntegratedQuery的简称,它是集成在.NET编程语言中的一种特性。已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知、静态类型等强类型语言的好处。并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源。LINQ定义

2、了一组标准查询操作符用于在所有基于.NET平台的编程语言中更加直接地声明跨越、过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于IEnumerable接口的源,并且它还允许适合于目标域或技术的第三方特定域操作符来扩大标准查询操作符集,更重要的是,第三方操作符可以用它们自己的提供附加服务的实现来自由地替换标准查询操作符,根据LINQ模式的习俗,这些查询喜欢采用与标准查询操作符相同的语言集成和工具支持。LINQ架构相关命名空间二、LINQ要解决的问题长期以来,开发社区形成以下格局:面向对象与数据访问两个领域长期分裂

3、,各自为政编程语言中的数据类型与数据库中的数据类型形成两套体系。例如:C#中字符串用string表示SQL中字符串用NVarchar/Varchar/Char表示SQL编码体验落后没有智能感应没有严格意义上的强类型和类型检查SQL和XML都有各自的查询语言,而对象没有自己的查询语言LINQ的使用优点无需复杂学习过程即可上手编写更少代码即可创建完整应用更快开发错误更少的应用程序无需求助奇怪的编程程序就可合并数据源让开发者开发效率更高任何对象或数据源都可以定制实现Linq适配器,为数据交互带来真正方便LINQ原理浅析LINQ(Lan

4、guageIntegratedQuery)是VisualStudio2008中的领军人物。借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据。目前为止LINQ所支持的数据源有SQLServer、XML以及内存中的数据集合。开发人员也可以使用其提供的扩展框架添加更多的数据源,例如MySQL、Amazon甚至是GoogleDesktop。一般来讲,这类查询语句的一个重要特点就是可以并行化执行。虽然有些情况下并行可能会带来一些问题,但这种情况非常少见。这样也就水到渠成地引出了PLINQ这个并行处理的LINQ类库。

5、PLINQ原名为ParallelLINQ,支持XML和内存中的数据集合。执行于远程服务器上的查询语句(例如LINQtoSQL)显然无法实现这个功能。将LINQ语句转换为PLINQ语句极为简单——只需要在查询语句中From子句所指定的数据源的最后添加.AsParallel()即可。随后Where、OrderBy和Select子句将自动改为调用这个并行的LINQ版本。LINQ原理浅析据MSDNMagazine介绍,PLINQ可以以三种方式执行。第一种是管道处理:一个线程用来读取数据源,而其他的线程则用来处理查询语句,二者同步进行——

6、虽然这个单一的消费线程可能并不那么容易与多个生产线程同步。不过若是能够仔细配置好负载平衡的话,仍然会极大地减少内存占用。第二种模式叫做“stopandgo”,用于处理结果集需要被一次返回时(例如调用ToList、ToArray或对结果排序)的情况。在这种模式下,将依次完成各个处理过程,并将结果统一返回给消费线程。这个模式在性能上将优于第一种模式,因为它省去了用来保持线程同步所花费的开销。最后一种方法叫做“invertedenumeration”。该方法并不需要实现收集到所有的输出,然后在单一的线程中处理,而是将最终调用的函数通过

7、ForAll扩展传递到每个线程中。这是目前为止最快的一种处理模式,不过这需要传递到ForAll中的函数是线程安全的,且最好不包含任何lock之类的互斥语句。若是PLINQ中任意的一个线程抛出异常,那么所有的其他线程将会被终止。若是抛出了多个异常,那么这些异常将被组合成一个MultipleFailuresException类型的异常,但每个异常的调用堆栈仍会被保留。二、LINQ分类LINQ包括五个部分:LINQtoObjects、LINQtoDataSets、LINQtoSQL、LINQtoEntities、LINQtoXML。L

8、INQtoSQL全称基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。其建立于公共语言类型系统中的基于SQL的模式定义的集成之上,当保持关系型模型表达能力和对底层存储的直接查询评测的性能时,这个集成在关系型数据之上提供强类型

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。