Веб-формы nhibernate с библиотекой классов - PullRequest
0 голосов
/ 05 апреля 2010

Я очень новичок в NHibernate, и меня немного смущает вопрос о том, где должны функционировать функции.

У меня есть следующее решение

1) MyProject.Web (приложение для веб-форм)

2) MyProject.Domain (библиотека классов)

  • nhibernate.config
  • product.hbm.xml

Так ли это правильно, я должен поместить следующий метод в IHttpModule? (я не могу использовать глобальный asax, поскольку он используется CMS, на которой я работаю)

Где должна находиться строка соединения?

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 голосов
/ 05 апреля 2010

Строка подключения должна находиться либо в вашем файле hibernate.cfg.xml, либо в файле web.config ...

Отличное место для руководства при запуске - Ваше первое приложение на основе Nhibernate из nhibernate.info wikis ... определенно помогло мне, когда я его выяснил помогает мне!) ... поскольку у вас, кажется, есть целый ряд вопросов, касающихся начала работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...