Linq to sql EF4或LINQtoSQL的优点是什么?

Linq to sql EF4或LINQtoSQL的优点是什么?,linq-to-sql,entity-framework,Linq To Sql,Entity Framework,EF4的优势是什么?在什么情况下它比LINQ to SQL更受欢迎?LINQ to SQL将没有更多的未来发展。所以EF是未来的发展方向 (这应该可以解释你想知道什么)好吧,两个主要区别是: 1) EF可以针对多个数据库引擎,包括Oracle和MySQL。不仅仅是MS SQL Server。 2) 您可以进行所谓的“代码优先”模式开发。基本上,您创建了对象模型,并且伴随着一些提示,EF将为您生成模式 在我看来,LINQtoSQL对于快速原型设计和简单的CRUD场景非常有用。任何更先进或更进取的东

EF4的优势是什么?在什么情况下它比LINQ to SQL更受欢迎?

LINQ to SQL将没有更多的未来发展。所以EF是未来的发展方向


(这应该可以解释你想知道什么)

好吧,两个主要区别是:

1) EF可以针对多个数据库引擎,包括Oracle和MySQL。不仅仅是MS SQL Server。
2) 您可以进行所谓的“代码优先”模式开发。基本上,您创建了对象模型,并且伴随着一些提示,EF将为您生成模式


在我看来,LINQtoSQL对于快速原型设计和简单的CRUD场景非常有用。任何更先进或更进取的东西都会使用EF4。(或者至少微软希望我们相信:)我在Linq-to-SQL的生产中很走运,这是值得的。

EF4基本上为Linq-to-SQL中不存在的映射添加了一大堆OO特性,比如富对象继承模型。我自己的看法是,这些都不是好的设计所必需的,我在自己的工作中还没有遇到一个场景可以证明EF4带来的额外复杂性


话虽如此,微软已经弃用LINQtoSQL,并且不会继续开发它,因此它最终将在性能和效率上落后于EF4(如果它还没有的话)。因此,务实的选择很简单:转到EF4。

在尝试了这两种方法并花了一周时间将项目从linq移植到sql之后,我可以说我真的更喜欢linq而不是sql。这样做的主要原因是EF对可以在LINQ查询中使用哪些函数的限制更大。在EF中,我必须将我的linq表达式强制转换为一个列表,以便能够进一步操作它们。对不起,我记不起任何例子了,我做这个已经有几个月了

EF最大的优点之一是与WCF数据服务相关的易用性。如果您正在开发一个应该有RESTful API的web站点,这将非常方便

此外,尽管LINQtoSQL已经相当成熟,但它确实是一项正在消亡的技术。它不会得到任何重要的更新,这使得为新项目提交LINQtoSQL变得更加困难