Menu:

DotNet频道

InfoQ: LINQ to SQL真的已死?

  

【InfoQ中文站】让我们回溯到七月,那时,我们报道了LINQ to SQL被转交到SQL数据可编程性团队。这一事件在开发者社区引发了大量的关注,人们担心LINQ to SQL会被终止,而转而使用ADO.NET实体框架。而在最近,LINQ to SQL和实体框架团队的程序经理Tim Mallalieu的一篇通告,又进一步加剧了事态的发展。

我们正大力投资于实体框架。作为.NET 4.0的一部分,实体框架是我们推荐的在关系场景中针对LINQ的数据访问解决方案。我们聆听了客户关于LINQ to SQL的反馈,并将结合我们在社区收到的反馈,继续开发和改善该产品。
如果我们从字面上理解,它仅仅是说实体框架获得了比LINQ to SQL更多的开发资源。问题是微软在很长一段时间内都反对数据访问技术,但却绝口不提对此不再进行支持。

在我们展望LINQ to SQL的未来之前,先让我们回顾一下历史。谈及LINQ to SQL的起源,Matt Warren形容他的项目一直都被“视若无物”。从根本上讲,它只是被当作在真正的ORM面世之前,用来帮助人们开发LINQ的替代品而已。然而,ORM项目以及更大一些的WinFS项目,就像掉进了兔子洞一般永无止境。此时,总是需要做点什么,因此才决定开始将LINQ to SQL作为一个产品推出。

同时,另一个项目也在开发之中。ADO.NET实体框架其名字本身就说明了它将作为在对象模型和关系数据库之间进行映射的整体解决方案。与LINQ to SQL只针对于特定的SQL Server不同,它是向后兼容的,可插换的,从理论上讲能够支持所有的数据库。

实体框架的规模导致它错失了.NET 3.5/Visual Studio 2008的最后期限。很不幸的是,它在最后完成之时被命名为“.NET 3.5 Service Pack 1”,而实际上它更像是一个主要的版本,而不是一个服务包。实体框架被横加指责,基于两个原因。

开发人员不喜欢它,是因为其复杂性。若要使用正确,开发者需要比使用LINQ to SQL付出更多的精力。与实体框架不同,LINQ to SQL最利于进行简单查询和更新机制,除了需要基本的表映射之外,无需任何定制。

数据库供应商不喜欢它,但完全基于不同的原因。实体框架是与数据库无关的,

Article Provenance:futurelight  
Article Tags: