Возникла исключительная ситуация при настройке персистентного слоя - PullRequest
2 голосов
/ 09 марта 2010

Я делаю проект в Nhibernate с MySql в asp.net. Во время выполнения кода я получил ошибку типа

Исключительная ситуация при настройке персистентного слоя

в строке ниже

ISessionFactory factory = new NHibernate.Cfg.Configuration().Configure).BuildSessionFactory();

Итак, позвольте мне помочь устранить ошибку.

Вот мой Конфигурационный файл

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <!-- an ISessionFactory instance -->
  <session-factory>
    <!-- properties -->
    <property name="connection.provider">
      NHibernate.Connection.DriverConnectionProvider
    </property>
    <property name="connection.driver_class"> 
      NHibernate.Driver.MySqlDataDriver
    </property>
    <property name="connection.connection_string">
      Server=localhost;Database=hrms;User ID=test;Password=test;
    </property>
    <property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
    <property name="show_mysql">true</property>
    <!-- mapping files -->
    <mapping resource="WebApp1.Job.hbm.xml" assembly="WebApp1" />
  </session-factory>
</hibernate-configuration>

Ответы [ 3 ]

2 голосов
/ 09 марта 2010

Возможно, неполная конфигурация? Попробуйте выполнить ручную инициализацию конфигурации следующим образом:

NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
cfg.SetProperty("dialect", "NHibernate.Dialect.MySQLDialect");
cfg.SetProperty("connection.driver_class", "NHibernate.Driver.MySqlDataDriver");
cfg.SetProperty("connection.connection_string", "Server=YourServer;Database=YourDatabase;User ID=YourId;Password=YourPass;CharSet=utf8");
cfg.SetProperty("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");  
cfg.AddAssembly("Your.Assembly.Name");  
ISessionFactory sessionFactory = cfg.BuildSessionFactory();

Если все работает, переместите его в XML, если хотите.

1 голос
/ 21 июля 2017

Пожалуйста, прочтите внутреннее исключение, которое выдается, и очень вероятно, что вы знаете причину. По моему опыту, это может быть так просто, как код ищет файл hibernate.cfg.xml в bin / debug и не может его найти.

0 голосов
/ 25 апреля 2013

У меня была похожая проблема. Проблема заключалась в том, что я использовал в Web.config:

<section name="nhibernate" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
<nhibernate xmlns="urn:nhibernate-configuration-2.2">
    .
    .
    .
</nhibernate>

вместо:

<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    .
    .
    .
</hibernate-configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...