对于NHibernate的V1.2,“NHibernate in Action”这本书在2009年10月仍然有用吗?

时间:2009-10-31 18:09:47

标签: nhibernate

Manning正以10美元的价格运行“NHibernate in Action”。 NHibernate In Action 于2009年2月发布,用于NHibernate的V1.2。目前,NHibernate达到V2.1。关于V1.2的书是否足以适用于当前版本的NHibernate。我不想浪费我的时间和金钱在一本关于弃用或不相关的功能的书上。

我是一个完整的NHibernate noob,但我对ORM的一般概念并不陌生。

更新:

我确实买了这本书,从我读过的少量书中,V2.x系列在本书发布时处于测试阶段。本书的作者确实指出了1.x和2.x之间的一些配置差异。从我到目前为止所读到的内容,我向任何想要一本关于NHibernate的书的人推荐这本书。

3 个答案:

答案 0 :(得分:6)

是的,它仍然是相关的。您可以在其中找到有关ORM系统的核心定义。

还有很多关于映射和解决常见问题的例子,如继承映射,集合映射,缓存等。

答案 1 :(得分:1)

经过一番挖掘后,我找到了this post,它与this blog相关联,实际上给出了NH2.1的一些细节,但没有销售推销。这是NHibernate在我看来的主要问题 - 他们并不是为了让自己在家中销售,而是喜欢“把它留在家里”,你必须深入挖掘开发者的博客。

无论如何,发布说明是你被告知要看的地方。 releasenotes.txt包含整个历史记录,以及2.0和2.1中的一些选择:

  • 不再支持.NET 1.1
  • 不再支持Nullables.NHibernate(使用可空类型的.NET 2.0)
  • NHibernate.Expression命名空间已重命名为NHibernate.Criterion
  • 不再支持App.config中的
  • <nhibernate>部分,将被忽略。配置文件和App.config的配置架构现在完全相同,App.config部分名称为:
  • <hibernate-configuration>具有不同的架构,并且所有属性名称都已被删除
  • 配置属性不再以“hibernate”作为前缀,如果在您指定“hibernate.dialect”之前,现在只指定“dialect”
  • NHibernate将为SQL Server上的count(*)查询返回很长时间
  • 在命名空间之间移动了各种类
  • 已重命名各种类(以匹配Hibernate 3.2名称)
  • AutoFlush不会发生在事务之外 - 数据库事务永远不是可选的,所有与数据库的通信都必须在事务内部发生,无论您读取或写入数据。 (这可能会影响您在书中阅读的内容see this question
  • 情况......然后......其他......结束于选择条款

如果您没有尝试从1.2升级到2.1,那么大约有一百个其他会对您产生影响。

答案 2 :(得分:0)

我刚买了这本书,发现它非常有用且相关。无论如何,许多重要的东西都是概念性的。我更大的抱怨是我使用流利的nhibernate,所以书中的大量xml和属性映射和配置对我来说并不那么重要。