NHibernate ProxyException - PullRequest
       11

NHibernate ProxyException

2 голосов
/ 05 июня 2009

Я новый NHibernate. Я пишу простое приложение, в котором класс cusstomer содержит идентификатор и имя, и с помощью nhibernate я сохраняю объект в базе данных. но я получаю следующее

ProxyFactoryFactory не был настроен. Инициализируйте свойство proxyfactory.factory_class раздела конфигурации фабрики сеанса с одним из доступных поставщиков NHibernate.ByteCode. Пример: <property name='proxyfactory.factory_class'>NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property> Пример: <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>

после прочтения этой ошибки я добавил ссылку NHibernate.ByteCode.Castle в свое приложение. Пока я получаю сообщение об ошибке. И я объявлен в файле cfg.xml

файл hibernate.cfg.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Server=(local);Initial Catalog=Customer;User Id=sa;Password=myPassword1</property>

  </session-factory>
</hibernate-configuration>

customer.hbm.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="ConsoleApplication1" assembly="ConsoleApplication1">
  <class name="ConsoleApplication1.Customer" table="Customer">
    <id name="Id" type="string" length="40">
      <generator class="assigned"></generator>

    </id>
    <property name="Name" column="Name" type="String" length="40"></property>

  </class>

</hibernate-mapping>

основная функция

Configuration cfg = new Configuration();
cfg.AddAssembly(Assembly.GetCallingAssembly());

ISessionFactory factoty = cfg.BuildSessionFactory();
ISession session = factoty.OpenSession();
ITransaction TRANS = session.BeginTransaction();

Customer newCustomer = new Customer();
newCustomer.ID = "1";
newCustomer.Name = "test";

session.Save(newCustomer);
session.Close();

Кто-нибудь может мне помочь? заранее спасибо

1 Ответ

0 голосов
/ 17 июня 2009

Та же проблема, те же попытки разрешения. Все указанные библиотеки DLL настроены на локальное копирование и находятся в проекте. Я использую файл hibernate.cfg.xml вместе с Castle в качестве фабрики прокси.

Любопытно, что это происходит только тогда, когда я использую SessionFactory для создания своей сессии. Если я переключаюсь на другие свои классы тестирования, где я создаю экземпляр сеанса с помощью FluentNHibernate.SessionSource (PersistenceModel), я не получаю эту ошибку.

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