【问题标题】:Is the book "NHibernate in Action" for V1.2 of NHibernate still relevant in October 2009?NHibernate V1.2 的“NHibernate in Action”一书在 2009 年 10 月仍然适用吗?
【发布时间】:2010-12-11 22:11:50
【问题描述】:

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

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

更新:

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

【问题讨论】:

  • 嗨,Ben,感谢您的更新,很高兴您在书中找到了价值。大部分内容都非常适用于 NHibernate 2.x,但遗憾的是我们没有时间更新示例并涵盖更改。第 2 版应该把所有这些都整理出来...... :)

标签: nhibernate


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    经过一番挖掘,我找到了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(*) 查询返回 long
    • 在命名空间之间移动了各种类
    • 已重命名各种类(以匹配 Hibernate 3.2 名称)
    • AutoFlush 不会在事务外部发生 - 数据库事务永远不是可选的,所有与数据库的通信都必须在事务内部发生,无论您读取或写入数据。 (这个可能会影响你在书中阅读的内容,see this question
    • case when...then...else...end in select 子句

    还有大约一百个其他版本,但如果您不尝试从 1.2 升级到 2.1,则不会影响您。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-05-31
        • 1970-01-01
        • 2019-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多