Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NETMVC与ORM选择_Asp.net_Asp.net Mvc_Orm - Fatal编程技术网

ASP.NETMVC与ORM选择

ASP.NETMVC与ORM选择,asp.net,asp.net-mvc,orm,Asp.net,Asp.net Mvc,Orm,我们正准备开始重新开发一个老化的大型内部企业应用程序。我们已经决定使用ASP.NETMVC,但正在考虑选择哪个对象关系映射(ORM)。当然,有许多开源和付费的ORM实现可用。然而,这似乎占据了最大的份额,而最重要的是来自微软的新热 当我们在做研究和玩弄这两者时,我们想让社区知道他们喜欢哪种ORM(NHibernate、实体框架或其他),以及为什么 有些类似的问题 (良好的清单,但无正当理由) (主要关注城堡项目AR) [非公开问题] 额外的.NETORM阅读 您应该看看使用NHib

我们正准备开始重新开发一个老化的大型内部企业应用程序。我们已经决定使用ASP.NETMVC,但正在考虑选择哪个对象关系映射(ORM)。当然,有许多开源和付费的ORM实现可用。然而,这似乎占据了最大的份额,而最重要的是来自微软的新热

当我们在做研究和玩弄这两者时,我们想让社区知道他们喜欢哪种ORM(NHibernate、实体框架或其他),以及为什么

有些类似的问题

  • (良好的清单,但无正当理由)
  • (主要关注城堡项目AR)
  • [非公开问题]
额外的.NETORM阅读

您应该看看使用NHibernate的ASP.NET MVC应用程序框架

在过去的几年里,我使用了一些O/RMs,除了NHibernate之外,我没有其他选择

  • 这是最成熟的
  • 它有大量的功能
  • 它背后有一个很好的社区
  • 它有一些很棒的辅助项目,比如

  • 我不知道在你链接的问题中,人们还能给你提供更多的信息。

    疯狂对话回答:没有

    这并不是说,只要使用得当,ORMs就不是一项了不起的技术。但在2011年,它们很快成为万能锤子,并不是所有的问题都是钉子。现代ORMs中发生的事情太多了,特别是对那些不太精通ORMs的人来说,他们更容易混淆事物而不是帮助事物。或者,有时候事情很简单,直接SQL是更好的选择。无论ORM有多好,抽象都会在某个时候泄漏

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

    < P>简短的回答:使用两者(我确实使用这两个)……/P> 使用ORM有多种可能性,这取决于您想要什么

    作为一名真正的ORM映射者,我强烈推荐NHibernateFluent NH映射。你需要大量的研究来构建一个好的架构,但是没有任何东西可以阻挡你。通过最小的妥协,您可以获得真正的灵活性

    EF6x(核心不是可生产的IMHO)被称为ORM,但它生成的更接近DAL。有一些事情你不能有效地使用EF6。尽管如此,这仍然是我最喜欢的读模型工具,而我确实将它与NHibernate结合使用(NH用于DDD/写模型)


    现在谈谈性能,它总是有利的,也有不利的。如果您深入了解ORM体系结构(请参阅我的文章:),那么您将直观地找到使其更快的方法。下面是我的另一篇文章,内容是关于如何使EF6x 5x更快(至少在阅读情况下):

    无意冒犯,但似乎以前有人问过这个问题:。作为副本关闭。哇,我不知道我在搜索时怎么没有找到那个问题。谷歌和SO搜索都让我失望。在结束时没有冒犯,否则我就不会问这个问题了。:)既然我同意这个问题可能应该关闭,那么删除该问题还是投票关闭该问题更好?IainMH下面的评论很有价值,不应该删除该问题。OP明确表示,他们正在重新设计企业应用程序,而不是开始学习一些东西。当你想要持久化时,ORM通常是最简单的解决方案。@Storm谢谢,看起来像是链接腐烂。我已经更新了指向github存储库的url。