我对NHibernate很陌生,对功能应该存在的地方感到困惑。
我有以下解决方案
1)MyProject.Web(网络表单应用程序)
2)MyProject.Domain(类库)
所以它是正确的我应该在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>
答案 0 :(得分:0)
connectionString应该存在于hibernate.cfg.xml文件或web.config文件中......
引导你开始的一个好地方是来自Your first Nhibernate based application的nhibernate.info wikis ...当我弄清楚它时,肯定帮助了我(仍然帮助我!)......就像你似乎有很多与入门有关的问题。