LINQ to SQL已被弃用吗?

May*_*ayo 55 linq linq-to-entities linq-to-sql

早在2008年底,就LINQ to SQL的未来发生了很多争论.许多人认为微软在.NET 4.0中对实体框架的投资是LINQ to SQL没有未来的标志.我想我会在做出自己的决定之前等待,因为人们不同意.

快进18个月,我有供应商提供依赖LINQ to SQL的解决方案,我个人试了一下,非常喜欢使用它.我想这是留下来的.

但是我正在读一本新书(Ben Watson的C#4.0 How-To)和第21章(LINQ),他认为它"或多或少被微软推荐"并建议使用LINQ to Entity Framework.

我的问题是LINQ to SQL是否正式被弃用和/或权威实体(Microsoft,Scott Gu等)是否正式建议使用LINQ to Entities而不是LINQ to SQL.

mar*_*c_s 60

对于所有"Linq-to-SQL已死"的人:Scott Guthrie本人在TechEd Europe中明确提到Linq-to-SQL 在.NET 4中得到了充分的支持,Damien Guard发布了一篇关于改变和改进的博客文章在.NET 4中为Linq-to-SQL做的.

引用马克吐温的话:"我的死亡报告被夸大了"......

  • 再加上Hejlsberg在Redmond Dev News采访中所说的话:"LINQ to SQL并没有死.我可以向你保证,它没有死.没有任何东西可以消失.我们从来没有这样做过,我们永远不会这样做."_ http ://reddevnews.com/blogs/desmond-file/2008/12/digital-darwinism.aspx (7认同)
  • Hejlsberg所说的是一个天生错误的声明,事情发生了变化,它们确实消失了,或者Windows 3.1仍然会支持.net 1.1将在服务器2008上正式支持,微软仍然会支持铁语言,就像汤姆说死了!=弃用它仍然在使用和支持但是它不再被积极开发我会建议保持你对linq的支持sql活跃但开始进入实体框架工作当前和未来的发展 (4认同)
  • 虽然它没有死亡或死亡,但它已被弃用.这是主要问题.有一些来自微软的文章表示此举是为了推动他们的旗舰产品ORM - EF.L2S是完全支持的,对每个人都知道/学习至关重要......但是对它的关注确实发生了变化,类似于silverlight/html5和mvc/webforms.以前的技术都没有"死"只是没有前进以与其他事物相同的速度或方向.弃用可能有点强烈,因为这会暗示它最终会得不到支持,或者被强烈反对. (2认同)
  • 现在已经死了 (2认同)

Eva*_*gle 12

最后我检查过,这个网站使用(或曾经使用过)Linq To SQL.Joel Spolsky在他的GoogleTechTalk中提到了这一点:http://www.youtube.com/watch?v = NWHfY_lvKIQ .

在谈到软件时,"死"是一个具象的修饰语(软件不会在任何文字,生物学意义上死亡),所以只要有关各方拒绝在任何字面意义上定义它对"意味着什么",这种辩论就会持续存在. Linq To Die".或者,简称LTD.因此,截至目前,LTD辩论已经徘徊了两年.一切都是因为一点点语言模糊.

那些说"L2S已死"的人通常指的是L2S不会接收太多(如果有的话)新功能的事实.对Linq的更新(如Damien Guard的帖子中提到的更新)可能仅限于性能,可用性和稳定性更新.当然,一些开发人员可能会认为这是一件好事(可能是那些对新动态类型有点生气的开发人员).

那些说"L2S没有死"的人通常指的是L2S不会完全从.Net中删除(至少不会很快).想一想:ADO.它可能在实践开发人员中失去一些牵引力(这可能是微软那些狡猾的人的未说出口的愿望),但这并不意味着如果你愿意,你将无法使用L2S.这只是意味着微软并没有试图用它来吸引大众.

在开始一个项目时,我实际上认为我可以在EF和L2S之间做出选择.比尔瓦格纳指出,两者都有时间和地点.


kmo*_*ote 10

我迟到了这个讨论,但我想指出,早在2008年,链接到SQL项目经理(Tim Mallalieu)在他的博客文章中宣布了这一消息,

"从.NET 4.0开始,LINQ to Entities [而不是LINQ to SQL]将成为LINQ到关系场景的推荐数据访问解决方案."

我没有发现其他更近期的相反声明.


Wou*_*ter 8

Visual Studio 中的 LINQ to SQL 工具

LINQ to SQL 是 Microsoft 发布的第一个对象关系映射技术。它在基本场景中运行良好,并且继续在 Visual Studio 中得到支持,但它不再处于积极开发状态。在维护已使用 LINQ to SQL 的旧应用程序时,或者在使用 SQL Server 并且不需要多表映射的简单应用程序中,请使用 LINQ to SQL。通常,当需要对象关系映射器层时,新应用程序应使用实体框架。


Mar*_*ers 7

不它不是.该团队仍在努力改进它.


Mar*_*ulz 5

确保查看一下发布在InfoQ.com 上的这篇文章 -这真的很有趣。其结论是:“从长期来看,LINQ to SQL和LINQ to Entities将合并。与此同时,LINQ to SQL的开发工作不会完全结束。”