【发布时间】:2013-08-01 15:42:11
【问题描述】:
我希望在我们的系统中实现 ORM。我们目前有许多表,其中包含大量可怕的数据和存储过程。我听说使用 ORM 会减慢系统速度。有谁知道使用 C# 代码中创建的查询并映射到存储过程,哪个 ORM 在速度和性能方面更好?
谢谢
编辑:
该项目将使用包含大量数据的大型现有表,还将使用在 SQL Server DB 中执行复杂任务的现有存储过程。 ORM在运行现有存储过程和查询当前表时必须能够执行事务并具有高性能。该项目是基于 Web 的,将使用带有 DDD 的 WCF Web 服务。我可以看到 EF 更容易使用并且有更大的支持,但如果 NH 是最合适的选择?
【问题讨论】:
-
我们谈论的项目有多大?几百个查询,几千个?您是否在抢先优化?没有什么比直接查询或像 Dapper.NET 这样快的了,但仍然可以根据您的编码方式合理使用。
-
@Paddy 是的,但在 EF4 和 EF6 之间有很多变化
-
NHibernate > 实体框架。甚至不值得考虑 EF。
-
请记住,使用 ORM 时,性能主要取决于您编写查询的方式。我看到很多人告诉我 ORM 很慢,当我查看他们测试它的方式时,我立即明白出了什么问题!
context.Customers.Include("Orders").Include("OrderLines").Include("Products");-)
标签: entity-framework nhibernate