第一部分 关于配置文件那点事

一. 先来看一下配置文件 .config 的几点

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <!-- Add this element -->
    <configSections>
        <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
    </configSections>

    <!-- Add this element -->
    <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
        <session-factory>
            <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
            <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
            <property name="connection.connection_string">Server=localhost\SQLEXPRESS;initial catalog=quickstart;Integrated Security=True</property>
            <mapping assembly="QuickStart" />
        </session-factory>
    </hibernate-configuration>
</configuration>

这是官方给出的配置代码,如果你采用MSSQLEXPRESS的话,这个可以使用使用,其他的没有列出的配置都采用默认配置(这些配置以后用到了会慢慢介绍),其中有几点需要注意的地方:
1.配置节的说明:<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>这句话的意思:
  name对应着一个配置节<hibernate-configuration>,type对应着解析<hibernate-configuration>的类,一般照搬写死就OK了。

2. <mapping assembly="QuickStart" />的含义:指定你持久类映射文件的程序集,这个和持久类映射文件中的配置是相呼应的,如下:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="QuickStart" assembly="QuickStart">
这个是持久化映射文件中的,其中:namespace和assembly指定的就是“对应的持久类”所属的命名空间和程序集,而且这个程序集和<mapping>中指定的要一致,另外一种方式如下:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="QuickStart.Cat,QuickStart" table="Cat">
其实这样写也是可以的,就是把命名空间和程序集放在class配置节上。

你可能感兴趣的:(第一部分 关于配置文件那点事)