Я новичок в NHibernate и пытаюсь использовать его для подключения к DB2. После проб и ошибок и исследований, а также проб и ошибок и исследований я наконец-то дошел до ошибки, на которую не могу найти ответ.
Сообщение об ошибке гласит: «Пользователь должен предоставить соединение ADO.NET - NHibernate не создает его.»
Эта ошибка не очень полезна. Означает ли это, что мне нужно 1) поместить строку подключения в мой файл конфигурации или 2) мне нужно передать соединение на завод? Если 1 верно, это обязательно? Если это так, то почему мы получили возможность передавать объект соединения в сеанс, что я и хочу сделать?
Если 2) верно, как передать объект подключения на фабрику?
Заранее спасибо. Ниже приведены мои фрагменты кода, которые могут быть полезны:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="dialect">NHibernate.Dialect.DB2400Dialect</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>
</configuration>
try
{
Configuration cfg = new Configuration();
cfg.AddInputStream(NHibernate.Mapping.Attributes.HbmSerializer.Default.Serialize(persistentClass));
SessionFactory = cfg.Configure().BuildSessionFactory(); //HERE I GET THE EXCEPTION
}
catch (Exception ex)
{
throw new Exception("NHibernate initialization failed", ex);
}