2009-06-16 33 views
27

我们正在准备开始重新开发大型老化内部企业应用程序。我们已经决定使用ASP.NET MVC,但是考虑使用哪种对象关系映射(ORM)来选择。当然有许多开源和付费的ORM实现可用。然而,似乎拥有最大的分享,而Entity Framework是微软的新热点。ASP.NET MVC和ORM选择

虽然我们正在研究和讨论两者,但我们希望将它们放入社区,以了解他们更喜欢哪种ORM(NHibernate,Entity Framework或其他),以及为什么。

有点类似#1问题

附加的.NET ORM阅读

+0

无意冒犯,但它似乎在此之前已经被问:http://stackoverflow.com/search?q= .net + orm。 http://stackoverflow.com/questions/380620/what-object-mapper-solution-would-you-recommend-for-net-closed作为副本关闭。 – 2009-06-16 22:48:51

+0

哇,我不知道我在搜索时怎么没有发现这个问题。 Google和SO搜索都让我失望。结束时没有冒犯,因为我不会问这个问题。 :) – ahsteele 2009-06-16 22:51:23

+0

由于我同意这可能应该被关闭,删除问题或投票结束它会更好? – ahsteele 2009-06-16 22:56:15

回答

13

你应该看看Sharp Architecture它使用NHibernate的ASP.NET MVC应用程序框架。

我在过去几年中使用了一些O/RM,并且没有办法选择NHibernate以外的其他任何东西。

  1. 这是最成熟的。
  2. 它有一个巨大的功能集。
  3. 它背后有一个很好的社区。
  4. 它有一些梦幻般的辅助项目,如Fluent NHibernate

我不知道人们能够给你什么更多的信息在你已经链接到的问题上。

2

疯狂的谈话回答:没有。

这并不是说ORM在使用正确的时候不是很棒的技术。但在2011年,他们正在迅速成为通用锤,并非所有问题都是钉子。而且现代ORM中还有很多事情要做,特别是对不熟悉它们的人来说,他们可能会混淆事物而不是帮助事物。或者,有时候事情很简单,直SQL是更好的选择。不管ORM有多好,抽象将会在某个时刻泄漏到

要看的东西的另一面是整个NoSQL运动。这项技术还有点新,但对于新的工作来说,这是一个数据访问策略,您必须考虑,因为它需要大量的时间来构建应用程序。

0

简短的回答:同时使用(我真的同时使用)...

随着ORM有多种可能性,一切都取决于你想要什么。

作为一个真正的ORM映射我强烈电子书籍NHibernate的流利NH映射。你需要进行大量的研究才能把一个很好的建筑放在一起,但是没有任何东西可以阻挡你。以最小的折衷方案,您可以获得真正的灵活性

EF6x(核心不是产品就绪恕我直言)被称为ORM,但它生成的更接近DAL。有些东西你不能用EF6有效地完成。尽管如此,这是我最喜欢的读取模型工具,但我将它与NHibernate(NH用于DDD /写入模型)结合使用。

现在到表现 - 它总是正反两面。如果您深入了解ORM 体系结构(请参阅我的文章:avoid ORM bad habits),那么您会直观地找到使其更快的方法。这是我关于如何使EF6x 5倍更快(至少在读的情况下)的另一篇文章:EF6.x 5x faster