Я начал изучать NHibernate с 2 недель, и я прочитал книгу Руководство для начинающих NHibernate 3. К сожалению, книга написана на версии 3.1, и с версии 3.2 некоторые вещи изменились. Больше нет поддержки замка, ..
Я надеялся найти пример приложения или учебника в 3.2, но нигде не могу найти что-то подобное. На самом деле, большинство статей в блоге о замене Nhibernates 3.2 на FNH.
Начиная с этого дня, сессионный завод и прочее работают без каких-либо ошибок (используя подход сессия на запрос с помощью actionfilter), но я не могу сгенерировать свою базу данных.
Я сопоставляю классический способ с файлами .hbm.xml для каждой сущности. Прочитав много сайтов и блогов, я наконец-то сделал эту конфигурацию:
protected void Application_Start(object sender, EventArgs e)
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
var nhConfig = new Configuration().Configure();
nhConfig.AddAssembly(typeof(Book).Assembly);
BuildSchema(nhConfig);
SessionFactory = nhConfig.BuildSessionFactory();
}
private static void BuildSchema(Configuration nhConfig)
{
new SchemaExport(nhConfig).Execute(false, true, false);
}
Мой соответствующий код web.config выглядит так:
<connectionStrings>
<add name="db" connectionString="Server=.\SQLExpress; Database=NHbTest; Trusted_Connection=SSPI"/>
</connectionStrings>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect,NHibernate</property>
<property name="connection.connection_string_name">db</property>
<property name="adonet.batch_size">100</property>
<property name="current_session_context_class">web</property>
</session-factory>
</hibernate-configuration>
Кто-то видит, что я делаю не так?
Спасибо заранее.