采用LINQ技术与ADO.NET技术检索档案性能比较.docVIP

  • 3
  • 0
  • 约4.94千字
  • 约 9页
  • 2018-12-07 发布于福建
  • 举报

采用LINQ技术与ADO.NET技术检索档案性能比较.doc

采用LINQ技术与ADO.NET技术检索档案性能比较

采用LINQ技术与ADO.NET技术检索档案性能比较   摘要:在分析采用ADO.NET技术与LINQ技术检索数字档案的优缺点基础上,通过实验测试证明采用LINQ技术检索的性能更加稳定、优势更加明显。   关键词:LINQ ADO.NET 数字档案 检索技术      随着档案数字化建设的推进,数字档案检索的速度、效率、质量越来越高。作为建立在现代信息技术普遍应用基础上的数字档案馆,以高度有序的综合档案信息资源为处理核心,以高速宽带通信网络为技术设施的超大规模、分布式数字化信息系统,赢得了越来越多的档案用户重视。建立数字档案检索平台,利用最新的检索手段为用户提供高效便捷的档案信息资源是数字档案馆建设的一项重要功能和核心工作。   一、采用ADO.NET技术检索档案的优缺点   1.采用ADO.NET技术检索档案的优点   当前在数字档案检索中运用微软解决方案所用的技术主要是ADO.NET,该技术是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。然而无论使用什么样的Data Provider,都将使用相似的对象与数据源进行交互①。实践表明,ADO.NET技术在检索系统里长期占统治地位是有一定优越性的,主要表现在:第一,维护方便。第二,分工明确。第三,性能优化。第四,减少交互。   2.采用ADO.NET技术检索档案的缺点   ADO.NET在档案检索系统里还存在不够灵活、商业逻辑层与数据库在一起、不易移植等缺点。同时在档案检索系统开发过程中,一个非常简单的功能需要若干行代码才能完成,导致在设计档案数据检索操作时,不得不考虑面向过程的思维模式来考虑档案数据检索工作。这与新的面向对象开发需求不相符,此时需要寻求一个更好的真正实现面向对象开发的技术。   二、采用LINQ技术检索档案的优缺点   1.采用LINQ技术检索档案的优点   LINQ(Language Integrated Query,语言集成查询)是由微软公司提供的一种查询技术,它最大的特点就是能够把查询功能直接引入到.NET Framework 3.5 所支持的编程语言(如C#、Visual Basic.NET等)中,并整合为一体,从而,查询操作成为编程语言的一部分,可以像创建编程语言代码的方法一样,方便地创建查询操作表达式②。在档案检索系统的开发中,LINQ的优点主要体现在以下几方面:   第一,提高开发效率,降低开发成本。在LINQ To SQL正式推出之前,假如SQL语句写得有问题,只有到运行时才能发现。而LINQ To SQL 在一切围绕数据的项目内都可以使用,特别是在项目中缺少SQL server方面的专家时,其强大的功能可以帮助开发人员迅速地完成项目③。因此,LINQ To SQL的推出,把开发人员从烦琐的技术细节中解脱出来,从而使其更加关注项目的逻辑。同时,LINQ To SQL的出现,也大大降低了档案数据库应用程序开发门槛,加快了档案数据库应用程序的开发进度。   第二,真正实现面向对象,降低错误检查难度。LINQ To SQL是在ADO.NET和C#2.0的基础上实现的。首先,它通过自动翻译SQL语句,并把结果集创建成对象并返回。其次,LINQ To SQL语句是在编译期间做检查,而不是在运行时检查。最后,LINQ To SQL是针对对象操作的,更符合今天的面向对象开发思想④。   第三,开发工具强力支持,扩展功能更加丰富。在LINQ To SQL技术出现之前,在Java和net领域分别有Hibernate技术、NHibernate技术来实现object/relational 持久和查询服务。与NHibernate相比,LINQ To SQL优势有:第一,影射代码自动生成。VS2008提供了SQLMetal和OR Designer两个工具来完成此步骤。而在NHibernate中,必须通过手工写来完成。第二,影射代码有更多的选择。NHibernate只能把数据库的信息配置在一个XML中,而LINQ To SQL有两种方式,一是放到XML中,这称为Externl Mapping;二是以Attribute的形式,存在于各个property中⑤。   2.采用LINQ技术实施数字档案检索存在的问题   第一,LINQ是非延迟加载的,要实现模糊条件检索与多条件检索,如果要立即加载结果需要先将检索结果转换成List,但它是无序的,目前解决办法需要重写List的Sort()方法。   第二,LINQ的dbml不能随意修改,手动更改VS2008的对象关系设计器中的dbml代码的话,原先修改好的东西将全被覆盖,要是需要一些特殊功能或者一些关键系统配置产

文档评论(0)

1亿VIP精品文档

相关文档