我听说过,实体框架过度杀伤,或者与LinqToSql相比很难学习。.net实体框架如何过度杀伤LinqToSql?
我在想什么?我使用LinqToSql并喜欢它。所以,我正在尝试EF和我所做的事情,他们看起来几乎完全一样。名称空间和方法名称是不同的,但到目前为止,我没有看到任何使EF比LinqToSql更难的东西。
我确定如果我开始做更多的事情它会变得更复杂。但是,我可能再也不能对LinqToSql做同样的事情,所以我认为这是EF的一个优点,以防万一我想做更复杂的事情。
是否EF使用比LinqToSql更多的资源以至于我不应该使用它,如果我需要的只是LinqToSql-like功能?
更新: 我做了一些测试,我的测试似乎指向Linq to Entities执行比Linq to SQL更好的实体。
我首先从一张表中删除1000条记录,添加1000条记录,编辑1000条记录,然后将它们数据绑定到一个DataView。 LinqToSQL:5秒LinqToEntities:2秒
我使用两个连接表执行相同的测试,结果相似。
我的测试似乎支持另一篇文章: Linq To Sql vs Entity Framework Performance
更新2:
感谢您的答复。在我看来,Linq to Entities对于Linq to SQL来说并不是真正的矫枉过正。经过更多的研究,我认为与Linq去实体是一条路。它似乎有更好的表现。
我相信我听到的“矫枉过正”的声明是因为Linq to Entities可以做得比Linq要多得多,而且它确实需要更多配置(web.config中另有大约1行)。此外,Linq to Entities与Linq to SQL的不同之处在于,可能会让人觉得Linq to Entities更复杂。但是,一旦你学会了如何做事,看起来Linq to Entities并不比Linq to SQL复杂。
我终于做了一个测试,而我却以相反的方式感到惊讶。我不知道我的测试是否有效,但我首先删除1000条记录,添加1000条记录,编辑1000条记录,然后将它们数据绑定到DataView。 LinqToSQL:5秒 LinqToEntities:2秒 – dtc 2008-12-16 01:29:20
DataSets?呃...还有很多其他的框架(例如Subsonic,NHibernate等)。更不用说定制开发了,我仍然更喜欢它。我从来没有遇到过使用DataSets的项目,我认为它甚至是远程清理的。 – senfo 2008-12-30 03:08:09
除了性能测试之外,您还应该看看需要多少时间和精力来制作任何您想要的框架。正如senfo所指出的那样,DataSets可能会很快,但它们并不是那么棒。 – 2009-02-04 08:40:41