nhibernate webforms与类库

时间:2010-04-05 11:48:29

标签: c# nhibernate

我对NHibernate很陌生,对功能应该存在的地方感到困惑。

我有以下解决方案

1)MyProject.Web(网络表单应用程序)

2)MyProject.Domain(类库)

  • nhibernate.config
  • product.hbm.xml

所以它是正确的我应该在IHttpModule中放入以下方法吗? (我不能使用全球性的asax,因为它正在运行的CMS使用)

connectionString应该在哪里生效?

网络表单应用程序中的HTTPModule

 private static ISessionFactory CreateSessionFactory()
 {
     var cfg = new Configuration().Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "nhibernate.config"));
     cfg.SetProperty(NHibernate.Cfg.Environment.ConnectionStringName, System.Environment.MachineName);
     NHibernateProfiler.Initialize();

     return cfg.BuildSessionFactory();
}

nhibernate.config

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory name="RBL.Domain">
        <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>  
        <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
        <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
        <property name="adonet.batch_size">16</property>
        <property name="current_session_context_class">web</property>
        <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
        <mapping assembly="RBL.Domain"/>
    </session-factory>
</hibernate-configuration>

1 个答案:

答案 0 :(得分:0)

connectionString应该存在于hibernate.cfg.xml文件或web.config文件中......

引导你开始的一个好地方是来自Your first Nhibernate based applicationnhibernate.info wikis ...当我弄清楚它时,肯定帮助了我(仍然帮助我!)......就像你似乎有很多与入门有关的问题。