现在的位置: 首页 > 综合 > 正文

NHibernate—Configuration3种常见配置

2013年09月11日 ⁄ 综合 ⁄ 共 1832字 ⁄ 字号 评论关闭

Configuration3种常见配置:

<1> Configuration config = new Configuration();
这种配置方法将会到应用程序配置文件(App.Config,Web.Config)中查找NHibernate的配置信息,NHibernate的配置节必须符合应用程序配置文件个格式,前面的例子使用过

<2> Configuration config = new Configuration().Configure();
       这种配置方法将会在应用的相同目录查找名为”hibernate.cfg.xml”的标准Hibernate配置

将App.config删除,新建hibernate.cfg.xml文件,代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.0" >
  <session-factory name="MySessionFactory">
    <!-- properties -->
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Server=.;initial catalog=NHB;User id=sa;password=1234;</property>
    <property name="show_sql">false</property>
    <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
    <!-- mapping files -->
    <mapping assembly="NHB" />
  </session-factory>
</hibernate-configuration>

修改Sessions.cs里的代码,//之后的为注释掉的

                   // Configuration cfg = new Configuration(); 
                   Configuration cfg = new Configuration().Configure();
                   // cfg.AddAssembly(Assembly.GetExecutingAssembly());
                    cfg.AddXmlFile("Users.hbm.xml");

将hibernate.cfg.xml,Users.hbm.xml的属性"复制到输出目录"改为"始终复制"

 <3> Configuration config = new Configuration().Configure(configFileName); 
       这种配置方法将查找指定的Hibernate标准配置文件,可以是绝对路径或者相对路径。

修改Sessions.cs的代码

                 // Configuration cfg = new Configuration(); 
                 //Configuration cfg = new Configuration().Configure();
                Configuration cfg = new Configuration().Configure("hibernate.cfg.xml");
                /// cfg.AddAssembly(Assembly.GetExecutingAssembly
               // cfg.AddXmlFile("Users.hbm.xml");    
               cfg.AddClass(typeof(Users));

NUnit下测试通过,貌似比较简单
             

抱歉!评论已关闭.