iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >LINQ to SQL有什么用
  • 731
分享到

LINQ to SQL有什么用

2023-06-17 22:06:36 731人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关LINQ to sql有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。LINQ to SQL 目前只支持SQL Server(SQL Server Compact版本正在

这篇文章将为大家详细讲解有关LINQ to sql有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

LINQ to SQL 目前只支持SQL Server(SQL Server Compact版本正在开发中),有迹象表明,也可能会支持DB2,InfORMix IDS,oracle官方说法是他们在关注Linq的进展,VistaDB, MySQL。。。但可以预见的是Linq如果要在2007年底RTM,那么要支持其它数据库的时间上,并不多,甚至我在WEBlog上看到说,对SQL Server Compact的支持都不包含在LINQ v1版本计划中。不过,MS,IBM,Oracle他们如果真决心做,那么时间不是问题上面的结论如果成立,那么我的***观点是,LINQ to SQL不能算纯粹意义上的ORM,因为它支持的数据库种类和类型还不够多

从技术的先进性和难度来看,Java Persistence api和Linq是解决不同层面问题的两种技术,并且从开发人员的角度来看,Java Persistence API没有Touch到Linq关注的层面,上面我说了,从编程语言的角度来看,LINQ是来自***层编译器和开发语言的支持,Java Persistence没这么底层;另外对于Java Persistence API,Adopt已有的ORM技术比如Hibernate, TopLink, JDO方面,Java Persistence API更像已有Java ORM的集大成者新建的一个API,而LINQ to SQL,LINQ to DataSet,LINQ to XML,LINQ to Entities,LINQ to Object,LINQ to Flickr, LINQ to NHibernate, LINQ to LDAP 已经都是板上定钉的事情,所以从设计上来看,LINQ更大气和宏观,因为一旦从编译器和开发语言的层面的支持,那么其融合渗透和应用的程度就相当高的,我认为其"亲和力"相当强悍

ADO.net Entity Framework(ADO EF)更多的是一个实体或概念设计的服务框架,是现实的实体和实体间的关系映射到将对象层,CLR 类和它们之间的关系上,甚至ADO.NET Team也避免让ADO EF概念上变成一个类似ORM的设计工具,ADO EF强调的三层{概念层/实体层(Conceptual layer), 元数据层(Source schema)和影射层(Mapping layer)}的灵活、独立和松散耦合,从而使得你可以将一个概念层/实体层通过定义多个影射层从而映射到多个不同的数据库上,而这一点LINQ to SQL做不到,首先LINQ to SQL不支持实体的多重继承(支持有限的继承),甚至有评论说LINQ to SQL RTM之前都不会获得many-many relationships的支持,LINQ to SQL更多的是使用dbml属性非常紧耦合地绑定到一张表的某些特定的数据库字段上。也就是说LINQ to SQL没有这么多层,另外它强调的是编程语言对数据查询和分析的结构化支持(从编程语言的层面)

理论上ADO EF是一个浩大大工程的框架,从而能够更好的支持流行的Domain Model Driven的开发,这要求它要有三层的设计工具展现你的设计,突现和定位你的实体关系,要求工具能够根据实体层产生数据库的脚本或是反向工程,同时需要有精度极高同时有非常Smart的代码生成工具和界面,同时,而目前Orcas Beta1单薄的的EDM Wizard根本不足以完成这些要求,更早先发布的Entity Data Model Designer Prototype已经成为丰碑快不可超越,看看这里有比较漂亮的一个设计器的录像--很酷

“Entity Framework the March CTP and Beta 1 are almost identical. There's some last bit of features that we're busily working on now that will appear in Beta 2 and the Orcas Release”这意味着Orcas Beta1和March CTP中 ADO EF变化并不大(ccBoy建议:在Orcas Beta1你可以精力重点放在 LINQ to SQL上),甚至有人认为Orcas's Entity Framework 进度的重大的标志在于Orcas能够提供出优良的EDM Designer,满足我们上面说的工程需求,所以Orcas Beta2将是ADO EF的一个重大里程碑,所以结论是,ADO EF和 LINQ to SQL侧重点上看两者的关注点非常不同,相比来说ADO EF开发或性能上会奔重些,但是ADO EF倾向Domain Model Driven和支持更多的流行的数据库或数据源,但ADO EF绝对不是一个简单的ORM Tools,理解成实体框架和对象服务层技术会更宏观,这里面LINQ成为ADO EF中很小的一个低层支撑技术,我刚刚说了LINQ的亲和力

从技术开发的角度来看,如果你的实体/业务模型(或者称为问题域)和已有的数据模型不匹配的时候,你需要考虑ADO EF,反正如果你的实体/业务模型(或者称为问题域)和已有的数据模型匹配,那么LINQ to SQL 会是不错的选择至于LINQ to Entities和LINQ to SQL,上文已经说的比较清楚(思归翻译的版本),我总结一下,相同点是,LINQ to Entities是LINQ to SQL的一个超集或加强版(Superset),你看到两者的Feature对比上,LINQ to Entities更重,它运行或说让你在一个概念数据模型上(Conceptual data model),你对对象的查询是发生在这一层

那么不同的地方在于,你使用LINQ to SQL的时候,你的映射,产生的CLR/.NET类是和你的数据/数据库模型紧耦合或绑定的,如果你改变对象模型,那么你要直接修改这些类,同样如果数据模型改变,你要使用重新生成对象代码,而ADO EF在数据/数据库模型上建立一个概念层/实体层,这使得你要先定义概念层/实体层,接着建立数据/数据库的脚本(描述),然后在一个影射层建立你的实体和数据之间的逻辑映射,这使得业务和数据源之间有了很好的藕合度和隔离。而LINQ to SQL无法达到这样的效果,另外LINQ to Entities也直接带有了ADO EF提供的另外一些强项,比如实体的继承(Entity Inheritance ),实体的组合(Entity Composition)

Entity SQL (eSQL)更多的时候,它是SQL语句的变体是完全面向查询语言的(Query Language),但是是对应的是对实体数据模型的查询,是对实体,实体中的属性进行查询,更多的时候Entity SQL 是面对ADO EF的Object Services,对象服务是ADO EF中能够将实体像对象一样工作和操作的服务,事实上Object Services往往是事实上的内存对象数据库,当然在这里你只能查询对象或实体并获得它们,你不能是使用SQL DML语句一样,Update或Deleted对象或实体(当然未来可以,现在v1版本是做好查询),当我们要和上面说的概念层/实体层交互的时候,***你可以使用Entity SQL (eSQL),第二你要使用LINQ to Entities,Entity SQL (eSQL)是文本和字符的,所以它支持组合(composable),比如子查询,而后你明白所有的LINQ to XXXX,其实就是说你如何让你在编程语言这个层面,很快地享受到LINQ针对XXXX(数据源或对象源)的数据集成和查询的能力以及便利(内置的表达式,操作语句,代码生产效率,性能等等)

***是Entity Client,这个一个新型的API,也就是专门用来访问实体源或实体数据模型,Entity Client使用自己的语言-Entity SQL (eSQL),它也是ADO.NET提供的另外一个数据源提供驱动,你可以用理解SqlClient一样来理解Entity Client,它是另外一条访问实体数据模型的途径,它存在的意义有两个,***它的访问性能会高,第二,EntityClient返回的结果是 dbDataReader,这意味着你可以使用统一或者你非常熟悉的代码经验比如你使用ADO.NET操作 SQL Server, Oracle,Mysql的技能对查询回来的数据进行娴熟地处理,抑或是如拌凉菜般地翻腾这些数据。

作为一个顾问和实践者,我们首先要去做,然后要面临给予自己和其他的人一些建议,在未来的6个月到一年:
1. LINQ的出现展示了一种***层的新型张力,任何现代编程语言最重要的能量和动力在这个语言的编译器,LINQ的出现让所有有关语言先进性争论的时代划句号,作为技术人员你需要察觉到这种变化和带来的影响
2. 从目前的Orcas Beta1版本来看,建议你在未来的6-12月优先学习C# 3.0和LINQ,掌握新型的表达式、语法和语句,这是未来编程语言中和For,IF语句一样的基本功,而每个开发人员需要熟练的使用这些语句,当然能够研究和搞明白这些新语句的背后的实现和原理,那是***的
3.对于那些已经掌握C#3.0和LINQ的中级的开发人员来说,在LINQ to SQL(LINQ2SQL)和ADO.NET Entity Framework来说,可以优先考虑学习和研究LINQ to SQL,并将其这种技术在项目或应用中做以实践
4.ADO.NET Entity Frameworkd的 Entity Desiger出来之前,保持对它的关注,而不用花太多的时间,另外从一个开发人员的角度来看,ADO EF不是必须的,甚至在设计人员特别是Domain Model Drivening的人员要关注和准备的,当然这些在6个月之后考虑和研究都不晚
5.Visual Studio Orcas的发布日期依然是一个很关键的因素,可以预见的是C# 3.0和LINQ将会在人们期望和愿望实现的时间点发布,但涉及到ADO.NET Entity Framework的部分有多少,这个要观察和注意,但反过来说,有了LINQ和LINQ to SQL已经让我们感到物有所值了
6.在你的项目中考虑新的功能特性对应用架构的影响,同时也尽可能多练习在asp.net这种传统的开发技术下LINQ和C# 的应用
7.继续保持对Visual Studio Orcas的关注,因为.NET 3.5或.NET 4.0已经开始走向更成熟,先进和自信的一面

关于“LINQ to SQL有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: LINQ to SQL有什么用

本文链接: https://www.lsjlt.com/news/293624.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • LINQ to SQL有什么用
    这篇文章将为大家详细讲解有关LINQ to SQL有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。LINQ to SQL 目前只支持SQL Server(SQL Server Compact版本正在...
    99+
    2023-06-17
  • Linq to sql是什么
    这篇文章主要讲解了“Linq to sql是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linq to sql是什么”吧!什么是Linq to sqlLinq to sql(或者叫DL...
    99+
    2023-06-17
  • LINQ to SQL与NHibernate有什么不同
    这篇文章主要讲解了“LINQ to SQL与NHibernate有什么不同”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ to SQL与NHibernate有什么不同”吧!1 引言 ...
    99+
    2023-06-17
  • LINQ to SQL能做什么
    本篇内容主要讲解“LINQ to SQL能做什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ to SQL能做什么”吧!一. LINQ to Objects只要实现了IEnumerab...
    99+
    2023-06-17
  • Linq To Sql缺点是什么
    本篇内容主要讲解“Linq To Sql缺点是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linq To Sql缺点是什么”吧!Linq To Sql缺点很久前,有个网友问到这么一个问题。...
    99+
    2023-06-17
  • Linq To Sql优点是什么
    这篇文章主要讲解了“Linq To Sql优点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linq To Sql优点是什么”吧!Linq To Sql优点在Linq To Sql推出...
    99+
    2023-06-17
  • Linq to sql是什么意思
    这篇文章给大家分享的是有关Linq to sql是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是Linq to sqlLinq to sql(或者叫DLINQ)是LINQ(.NET语言集成查询)的一...
    99+
    2023-06-17
  • LINQ To SQL对象模型是什么
    这篇文章主要讲解了“LINQ To SQL对象模型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ To SQL对象模型是什么”吧!首先来看下用到的数据库:SQL Server ...
    99+
    2023-06-17
  • LINQ to SQL数据表怎么用
    这篇文章主要为大家展示了“LINQ to SQL数据表怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LINQ to SQL数据表怎么用”这篇文章吧。在LINQ to SQL数据表里面都是用...
    99+
    2023-06-17
  • Linq to SQL的DataContext怎么写
    本篇内容介绍了“Linq to SQL的DataContext怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!强类型DataContex...
    99+
    2023-06-17
  • LINQ to SQL事务模型有哪些
    这篇文章主要介绍了LINQ to SQL事务模型有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。三种LINQ to SQL事务模型,分别是:◆显式本地事务:调用 Subm...
    99+
    2023-06-17
  • LINQ to SQL查询和SQL命令怎么使用
    这篇文章主要讲解了“LINQ to SQL查询和SQL命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ to SQL查询和SQL命令怎么使用”吧!直接执行LINQ to S...
    99+
    2023-06-17
  • LINQ to SQL映射怎么实现
    本篇内容介绍了“LINQ to SQL映射怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!LINQ to SQL映射函数和存储过程LI...
    99+
    2023-06-17
  • LINQ To SQL和ORM怎么理解
    这篇文章主要讲解了“LINQ To SQL和ORM怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ To SQL和ORM怎么理解”吧!LINQ To SQL和ORM的理解1、没...
    99+
    2023-06-17
  • linq to sql多表怎么实现
    这篇文章主要讲解了“linq to sql多表怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linq to sql多表怎么实现”吧!在讲述linq to sql多表之前,先看看生成的...
    99+
    2023-06-17
  • 怎么用Linq to SQL访问数据库
    本篇内容介绍了“怎么用Linq to SQL访问数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在向大家详细介绍Linq之前,首先让大家...
    99+
    2023-06-17
  • LINQ to SQL语句的使用方法有哪些
    这篇文章主要介绍“LINQ to SQL语句的使用方法有哪些”,在日常操作中,相信很多人在LINQ to SQL语句的使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ to SQL语句的使...
    99+
    2023-06-17
  • Linq to sql动态查询的方法是什么
    本篇内容介绍了“Linq to sql动态查询的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linq to sql动态...
    99+
    2023-06-17
  • LINQ TO SQL查询编译的方法是什么
    这篇文章主要介绍“LINQ TO SQL查询编译的方法是什么”,在日常操作中,相信很多人在LINQ TO SQL查询编译的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ TO SQL查询编译...
    99+
    2023-06-17
  • LINQ to XML是什么
    本篇内容介绍了“LINQ to XML是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在向大家详细介绍LINQ to XML之前,首先让...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作