我在4月份推出VS2010时发现了有关L2S与EF4在Stack Overflow上的一些讨论,即:
Dump Linq-To-Sql now that Entity Framework 4.0 has been released?
Is Entity Framework worth moving to for a new small app?
现在,经过6个月,大概有人与EF4进行了更多的互动,所以我对新观点感到好奇,特别是在考虑只使用SQL Server时。
我经常使用LINQ to SQL,而且只使用了EF4。我不介意跳进去学习更多的EF4,我不相信,如果我的应用程序只与SQL Server交谈,那么它的额外复杂性是值得的。
所以,如果你对这两者都有一些经验,那么你现在要用SQL Server后端启动一个新的中小型应用程序,你会选择哪一个?
当然,为什么......
答案 0 :(得分:14)
这取决于......:)
如果您不需要EF添加任何额外功能,则L2S通常为:
EF增加了更多功能,例如支持其他RDBMS和比普通1:1更复杂的映射,支持几种不同类型的实体继承等。这带来了成本:
简而言之:
答案 1 :(得分:4)
我工作的公司是一家价值25亿美元到30亿美元的太阳能制造公司。我们将L2S用于所有下一代制造应用。它并非没有它的疣,但我们发现它很快(与许多人的想法相反),灵活且易于使用。我们没有遗憾。它做我们需要它做的一切。
答案 2 :(得分:1)
Nhibernate的。或针对特殊情况的BLToolkit。 Linq2Sql和EntityFraemwork仍然落后于后代。
答案 3 :(得分:1)
在我看来,LINQ To SQL的未来有点不清楚。我个人会选择实体框架,因为它提供了最大的灵活性,因为它似乎是微软指导未来发展重点的地方。我一直在使用实体框架,虽然确实有一些怪癖,但我在很大程度上对它感到满意。
答案 4 :(得分:0)
几乎在任何情况下我都会使用Entity Framework。最大的缺点是,一旦你上线而没有吹嘘和重新生成,就没有什么方法可以调整/改进你的模型。那个和EF可以做任何事情你可以用l2s和更多,同时拥有更好的工具等。