我正在和我的一个同事讨论。我们在工作中使用Linq to Sql,而我是个新手,所以我问他为什么我们不使用Linq to Entities?他做了一些争论,其中之一是“因为Linq to Entities比linq to Sql慢”。我对此有点怀疑,我确实知道Linq to Entities更复杂,而且有额外的功能,但我不明白为什么它会更慢。
Linq to Entities是否更慢?对这样的论点有什么好的回应呢?
发布于 2011-11-16 06:02:36
这可能是由于Entity Framework早期版本中的性能问题造成的。
在早期版本中,查询有相当多的问题,在Entity Framework中翻译得很差。后来的版本解决了其中的许多问题,所以现在我认为它很可能是更好的性能。
这就是说,这真的取决于你测试的是什么-基准测试和分析是唯一的方法。对于某些操作,Linq To SQL会更快-但EF在其他操作上也会更快。也就是说,EF现在允许更多的机会绕过限制和问题,所以随着时间的推移可能会更好地调整。
发布于 2011-11-16 06:11:45
就纯性能而言,LINq To SQL应该稍微快一点,因为它使用单层映射,而Linq to Entities有两层映射,额外的映射可能会有性能成本。
然而,您应该在您自己的利用率上下文中进行一些基准测试,因为性能差异在大多数情况下都不会被注意到……
https://stackoverflow.com/questions/8143731
复制相似问题