日期:2014-05-20  浏览次数:20854 次

Linq To Sql的优点
Linq To Sql的优点

  在Linq To Sql推出之前,我们只是把sql语句形成一个string,然后,通过ado.net传给sql server,返回结果集.这里的缺陷就是,如果你sql语句写的有问题,只有到运行时才知道.而且并不所有的人都懂数据库的。Linq To SQl 在一切围绕数据的项目内都可以使用。特别是在项目中缺少sql server方面的专家时,Linq To SQl的强大的功能可以帮我们快速的完成项目。Linq To SQl的推出,是让大家从烦琐的技术细节中解脱出来,更加关注项目的逻辑。Linq To Sql的出现,大大降低了数据库应用程序开发的门楷,它实质是事先为你构架了数据访问层,势必将加快数据库应用程序的开发进度。Linq To Sql解放了众多程序员,让他们的把更多的精力放到业务逻辑以及code上,而不是数据库。对于初学者来讲,Linq To Sql可以让他们迅速进入数据库应用程序开发领域,节约了培训成本。

我早就说了LINQ是给不懂写数据库人的人用.一些垃圾公司招聘一些垃圾程序员写着垃圾代码.

------解决方案--------------------
楼上说的我不是很同意,我的从SQL语句转过LINQ的,我觉得相对比较方便,当然,LINQ的查询分页,我不敢恭维

主要还是看用的人是什么样的心态,如果一个初学者,我们当然不建议他们直接使用LINQ,但是如果一个对SQL语句已经很熟悉的人,用LINQ也无可厚非
------解决方案--------------------
linq to sql 主要功能反映在,使更多的数据库逻辑以一种更为统一的方式呈现给了 单纯的C#开发者,能够让开发者
不必在SQL与C#语言之间进行过多的通讯,并且让数据逻辑显现出远比过去灵活的计算能力来,同时大幅提升开发效率 降低了
开发成本;
------解决方案--------------------
掌握了一种Linq实现,几乎可说你就掌握了全部实现。为什么,因为所有Linq实现代码长得是一样的。例如你写:
var m = from n in arr where n < 5 orderby n select n;


这里,arr可以是对象数组、对象的某种集合、任何一种数据库(而绝不仅仅是Linq to SQL)、甚至可以是google。例如可以查看一个很老的帖子:http://www.cnblogs.com/Terrylee/archive/2008/03/01/linq-providers-list.html

并行Linq是.net 4.0中的最核心功能之一。

没有关系,偷着学不算丢人,那么就表面上骂街暗地里好好学吧。
------解决方案--------------------
引用:
那java的数据库框架,Hibernate 也是给java的垃圾成员和垃圾公司用的??? 


搞.net的人经常给java中稍微有点知识的人取笑,唉,历史总是要承认的,学.net的人许多都是以学一本编程语言来混迹.net界,而不是认真学习.net framework。而java中要想开发就要学习sdk和它的各种开源框架,高门槛确实也避免了很多无谓的争论。
------解决方案--------------------
楼主的坑很赞。

我们先来看LINQ,我更愿意从编程语言层面来讨论LINQ。第三代语言让我们很容易描述问题实现的细节,比如c++,c#,java,但是同时以SQL为首的第四代语言,却让我们很容易的表述问题本身。所以在c#中引入LINQ,从编程语言的发展来看,是希望把程序员的思维从怎么做解放到做什么的一个尝试。

再来看LINQ to SQL,在体系结构上来看,SQL数据库扮演了一个提供者(provider)的角色,同样Oracle数据库,XML文件,甚至一般的类库,只要实现了provider的接口,也可以被LINQ到。就一个数据库的provider来说,LINQ to SQL必然要包括对象/关系数据库映射(O/R mapping),但是范畴要来的更大一些,因为其目的不是说让关系数据库也能被当作对象来访问,而是希望在c#编程语言中,能够用数据库的思维直接操作关系型数据库。

顺便纠正楼上的一个说法,LINQ是c#3.0的主要功能。照Anders在PDC2008中所说的,1.0中是c#的一个问世,2.0中把1.0中来不及做完的功能加进去,3.0中有了LINQ,是真正从语言的演化意义上做了一些新鲜的尝试。


---------------------------------------------------------
欢迎访问我的技术博客:http://blog.csdn.net/mountaintaiii
------解决方案--------------------
Linq的出现的一大意义在于,

将异常检查,移动了编译期,而不是运行时……