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