2010-05-02 104 views
4

我见过一些需要知识的工作,以及堆栈上的许多问题。我发现另一个问题,指向我Summer Of NHibernate,我现在正在观看视频。但是它没有解释为什么NHibernate被创建并解决了什么问题。通过查看维基百科,我可以隐约看到它做了什么,但对我来说,.NET看起来已经有了似乎做同样事情的实体框架。NHibernate解决什么问题?

任何人都可以澄清为什么nhibernate存在?

+5

谷歌ORM ..... – harpo 2010-05-02 16:47:36

+0

实体框架做ORM没有按”它呢? – NibblyPig 2010-05-02 16:48:53

+2

您是否知道在Nhibernate满足您的ORM需求后,实体框架即将投放市场(在MS发生内部动荡之后)?我现在感到很难过...... – flq 2010-05-02 16:56:03

回答

1

它解决了与对象关系阻抗不匹配有关的几个问题,提供了一个工作单元的实现,允许衡量数据库的独立性,并通过促进持久性无知并提供生成数据库模式的能力来促进域驱动设计随着领域的发展。

因此,它是一个范围和广度的程序野兽,并需要一些上述流行语的知识!它实际上做的比这更多,这就是为什么NHib的夏天是一些奇怪的部分系列,很值得推荐。 NHib in Action这本书也非常好。

最重要的是,给自己一个休息,让自己长达六个星期采取全身。

HTH,
Berryl

2

NHibernate的根源在于Java Hibernate框架。根据Wikipedia NHibernate于2005年第一次发布,在Entity Framework之前的几年在2008年发布。

从我听说NHibernate是更成熟和灵活的这两个,但我没有使用它自己。实体框架可以被看作是微软(但并未成功)尝试压缩NHibernate。

+0

谢谢,这让我现在看得更清楚了。 – NibblyPig 2010-05-02 16:58:55

1

NHibernate使您不必亲自处理数据库交互,并为您处理特定于数据库的详细信息。这使您能够花更少的时间编写基础架构代码,并允许更多地关注项目的有趣部分。