2009-10-31 61 views
4

曼宁正在运行一个特殊的“NHibernate的在行动” $ 10。 NHibernate的在行动是在2009年2月发布的NHibernate的V1.2。目前,NHibernate达到了V2.1。这本关于V1.2的书是否足够适用于NHibernate的当前版本。我不想浪费我的时间和金钱在一本关于不推荐或不相关的功能的书上。NHibernate V1.2中的“NHibernate in Action”一书在2009年10月还是相关的?

我是一个完整的NHibernate的小白,但我不是一个陌生的ORM的一般概念。

更新:

我买的书,并从我读过的2.x版系列是测试版书发布时的量小。本书的作者们指出了1.x和2.x之间的一些配置差异。从迄今为止我阅读的内容来看,我推荐这本书给任何想要一本关于NHibernate的书。

+1

嗨Ben,感谢您的更新,并且很高兴您在本书中找到了价值。大部分内容非常适用于NHibernate 2.x,但很遗憾,我们没有时间更新样本并覆盖更改。第二版应该排除所有这些...... :) – tobinharris 2009-11-01 16:53:25

回答

6

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

也有很多关于映射和解决像继承映射,集合的映射,缓存等

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
  • <nhibernate>部分,在App.config中,不再支持,将被忽略。对于配置文件和App.config中配置架构现在是相同的,并且在app.config节名称是:“冬眠”
  • <hibernate-configuration>有不同的模式和名称cheked
  • 配置属性不再由前缀的所有属性如果之前你会指定“hibernate.dialect”,现在你只指定“方言”
  • NHibernate的将返回长COUNT(*)查询SQL Server上
  • 各种类被感动命名空间
  • 各种类之间有已被重命名(以匹配Hibernate 3.2名称)
  • AutoFlush不会发生在事务之外 - 数据库事务永远不可选,所有与数据库的通信都必须发生在事务内部,无论您是读取还是写入数据。 (这个可能会影响你在书中读到的内容,see this question
  • 情况下......那么......其他......结束在SELECT子句

大约有一百人,但没有什么会影响你,如果你不尝试升级从1.2到2.1。

0

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