在性能方面,速度更快:Linq2SQL或Linq2Entities(在ASP.net MVC中)

时间:2009-10-12 20:47:39

标签: asp.net-mvc linq-to-sql linq-to-entities

比较asp.net MVC应用程序中的两个数据模型,它提供更好的性能,LINQ 2 SQL或LINQ 2实体。

当您使用相同的方法时,它们并不总是执行相同的数据库操作,或者具有相同的LINQ方法....

4 个答案:

答案 0 :(得分:2)

您应该自己对特定查询进行基准测试。但是,与LINQ to SQL相比,LINQ to Entities提供了额外的抽象层,这可能会稍微阻碍性能。

除了性能问题之外,如果您的应用程序仅适用于SQL Server后端,并且您需要在实体和表之间进行一对一映射,则LINQ to SQL更易于使用。

答案 1 :(得分:2)

在大多数项目开始时,即使性能是一项要求,对性能的可维护性应该是一个目标。性能可以稍后进行调整,如果有必要,通过良好的设计,ORM /数据映射器通常可以在以后换出。

在项目早期,不要让自己陷入这样的决定。根据您更容易或您已经知道的内容排序。然后调整一下。

为自己取得好成绩。您的环境总是与开发人员/制造商可能用于比较的环境不同。

答案 2 :(得分:1)

这取决于你正在做什么。对此没有单一的答案。

如果您愿意接受使用ORM所涉及的性能损失,那么它们都应该是合适的。

我的建议是尽可能使用ORM来获取尽可能多的代码。如果你的某些东西运行速度慢得令人无法接受,那么就制作一个存储过程来进行特定的查询。

答案 3 :(得分:1)

本文似乎进行了一些全面的比较:

http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html

我的一般意见是,当我听到提到的性能时,选择最能解决问题的解决方案,直到发现问题是性能为止。