带有NHibernate的ASP.NET MVC

ACP*_*ACP 2 nhibernate asp.net-mvc performance

我想通过NHibernate了解一些关于ASP.NET MVC的知识.

  1. NHibernate是ASP.NET MVC使用的最佳ORM吗?
  2. 如果是这样,NHibernate会降低应用程序的速度吗?
  3. 使用NHibernate可以做些什么来提高ASP.NET MVC应用程序的性能?

Gra*_*ton 10

  1. 要看.如果您是一个新手,您可能想要尝试实体框架,因为它包含允许您通过拖放创建实体类的所有ORM设计器类.
  2. 不,它不会.NHibernate被很多站点使用,它具有一级和二级缓存功能,可以通过缓存先前的操作来加快速度,因此性能不是真正的问题.
  3. 确定瓶颈后,您只能改进应用程序.不要过早优化.

  • 实体框架不适用于新手(然后再说,没有ORM). (3认同)

Mik*_*nty 6

我将NHibernate与ASP.NET MVC一起用于GarageCommerce.com,即使在相当低预算的硬件上它也非常快.与与数据库通信的原始成本相比,NHibernate的开销可以忽略不计.

有一个强大的社区,可以遵循的成熟模式和支持NHibernate Profiler等工具.与您滚动自己的数据库访问权限相比,您最终可能会获得更高效的应用程序.

使用像NH这样强大的工具,您有更好的机会解决可扩展性问题.你可以打开它的二级缓存并用memcache备份它.NHiberate.Shards还有一些工作可以帮助您横向分区数据.