我想开始一个大项目。我研究有关 LINQ to EF 和 NHibernate 的性能问题。我想在我的项目中使用其中之一作为 ORM。现在我的问题是这两个 ORM 中的哪一个可以让我在我的项目中获得更好的性能?我将使用 SQL Server 2008 作为数据库和 C# 作为编程语言。
最佳答案
两者都不会有“更好的表现”。
在分析性能时,您需要查看限制因素。在这种情况下,限制因素不是您选择的 ORM,而是您如何使用该工具、如何编写查询以及如何优化数据库后端。
因此,“最快”的 ORM 将是您可以正确使用的 ORM,再加上您最了解的数据库服务器。
ORM 本身确实有一定的开销,因此就纯粹的性能而言,“最快”是根本不使用。但是,这有利于计算机在开发时的时间,这通常不是一个好的权衡。 ORM 可以节省大量的开发时间,而如果使用得当,只会带来很小的开销。
通常,当人们在使用 ORM 时遇到性能问题是因为他们错误地使用了 ORM,而不是因为他们选择了“错误”的 ORM。
关于c# - 哪一个可以有更好的性能 - LINQ to EF 或 NHibernate?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2628297/