【发布时间】:2011-02-11 11:49:38
【问题描述】:
你如何评价他们每个人:
- 性能
- 发展速度
- 简洁、直观、可维护的代码
- 灵活性
- 总体
我喜欢我的 SQL,因此一直是 ADO.NET 和存储过程的铁杆粉丝,但我最近玩了 Linq to SQL,被我写出 DataAccess 层的速度之快震惊了决定花一些时间真正了解 Linq to SQL 或 EF……还是两者都不了解?
我只是想检查一下,这些技术中没有任何重大缺陷会导致我的研究时间毫无用处。例如。性能很糟糕,对于简单的应用程序来说很酷,但只能带你到这么远。
更新: 您能否专注于 EF VS L2S VS SP 而不是 ORM VS SP。我主要对 EF VS L2S 感兴趣。但是我也很想将它们与存储过程进行比较,因为我非常了解普通的 SQl。
【问题讨论】:
-
没有建设性,但有这么多赞成?... ;)
-
我不明白为什么有人将其标记为不具建设性。这对我来说似乎真的很好。来自我的 +1。
-
在我看来这是一个很好的问题。就个人而言,我注意到实体框架和所有类似的 ORM 与普通/简单的 ADO.Net 代码相比要慢一些。两年前我做了这个测试,然后一周前又做了一次。我不确定 LINQ to SQL 与 EF 相比如何。但 ADO.Net 将永远是性能最好的。如果您想节省开发时间,那么 Entity Framework 是一个很好的工具,但绝对不是当您最关心性能时。
-
@Sunil 是正确的,虽然不够罗嗦。问题是每个人都认为他们最关心的是应用性能。当我谈到需要顶级性能的应用程序时,我会想到核心 C++ MMO 或数百万的面向客户的大容量数据库事务。你真的应该关注面向对象的原则,例如可维护性、可读性、持久性无知和领域逻辑分离。尤其是在很多情况下,性能提升很少或根本不存在。
-
这个问题对我很有用。这是一个建设性的问题,可能会提供非常有用的信息。 Stackoverflow 社区也不应该认为这是我的没有建设性 +1。
标签: sql linq-to-sql entity-framework ado.net linq-to-entities