【发布时间】:2010-09-05 17:44:15
【问题描述】:
现在 .NET v3.5 SP1 已经发布(连同 VS2008 SP1),我们现在可以访问 .NET 实体框架。
我的问题是这样的。在尝试决定使用实体框架和 LINQ to SQL 作为 ORM 时,有什么区别?
按照我的理解,实体框架(与 LINQ to Entities 一起使用时)是 LINQ to SQL 的“老大哥”?如果是这种情况 - 它有什么优势? LINQ to SQL 自身无法做到的事情有哪些?
【问题讨论】:
-
我认为下面的答案应该重新审视一下,因为EF发布已经很长时间了,所以到这里的新开发者可能会得到错误的印象。 EF 自早期发布以来就成为了一个伟大而简单的工具。您只需设置与数据库的连接,就可以满足您所需的 90%。从经验的角度来看,发展非常迅速!从那里开始 - LINQ 是你最好的朋友。它是高度可定制的,MVC 很喜欢它,对于那些说它不好的人来说——首先学习如何使用它(并且掌握 LINQ)!
-
很清楚 - 现在你没有选择 - MSFT 有效地杀死了 LINQ2SQL 以支持 EF。然而,MSFT 的开源 EF 帮助它减少了吸吮,而且肯定会变得更好。但是对于任何进入 EF 的人来说——一定要明白 EF 中仍然有很多怪癖。我已经发布了大约一个 - stackoverflow.com/questions/305092/…
-
@kape123, (a) LINQ to SQL 没有“死”;它仍然可用; (b) LINQ to SQL 是 Windows Phone 8 开发中的标准数据访问方法。
-
@user3308043,[需要引用]。
-
@Kyralessa - 截至 2010 年(随着 .NET4.0 的发布,我能找到的最新引用),MS acknowledged that,虽然可能会在 LINQ2SQL 上进行一些投资,“大部分我们的整体投资将放在实体框架上。”
标签: .net entity-framework linq-to-sql