Je suis très nouveau à NHibernate, et je suis un peu confus sur l'endroit où les fonctionnalités devraient vivre.nhibernate webforms avec la bibliothèque de classes
I ont la solution suivante
1) MyProject.Web (application de formulaires web)
2) MyProject.Domain (Bibliothèque de classes)
- de nhibernate.config produit
- . hbm.xml
Alors est-ce correct? hould mettre la méthode suivante dans un IHttpModule? (je ne peux pas utiliser un asax global car il est utilisé par le CMS que je cours)
Où devrait être connectée la chaîne connectionString?
HttpModule dans l'application web forme
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>