Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NHibernate: создание кастомного генератора id 
:(
    Опции темы
Rodya
Дата 25.1.2010, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.9.2009

Репутация: нет
Всего: нет



Вопрос к людям, пользующимся хибернатом.

Есть сборка PersistentData. И есть класс UUIDGenerator:
Код

namespace PersistentData
{
    public class UUIDGenerator : IIdentifierGenerator
    {
        ... 

        public object Generate(ISessionImplementor session, object obj)
        {
            ...
            return ...;
        }
    }
}


Хочу использовать этот класс в качестве кастомного генератора уидов:
Код

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="PersistentData" namespace="PersistentData">
  <class name="IPersistentObject" table="TBL_PERSISTENT_OBJECTS" abstract="true" >
    <id name="uuid">
      <column name="UUID"/>
      <generator class="PersistentData.UUIDGenerator"/>
    </id>
  </class>
</hibernate-mapping>


Однако, BuildSessionFactory() выкидавет исключение:
Код

Could not interpret id generator strategy: PersistentData.UUIDGenerator. Possible cause: no assembly name specified.


Народ, где я туплю?
PM   Вверх
1stain
Дата 25.1.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 5
Всего: 40



Код

<generator class="PersistentData.UUIDGenerator, PersistentData"/>




--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
Rodya
Дата 25.1.2010, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.9.2009

Репутация: нет
Всего: нет



Цитата

<generator class="PersistentData.UUIDGenerator, PersistentData"/>

Сделал. Проблема осталась. Даже сообщение об ошибке то же.

Дальше в маппинге меняю на <generator class="UUIDGenerator, PersistentData"/>
Ошибка: System.TypeLoadException: Could not load type 'UUIDGenerator' from assembly 'PersistentData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

Меняю namespace на PersistentData.Generator. Т.е.:
Код

namespace PersistentData.Generator
{
    public class UUIDGenerator : IIdentifierGenerator
    {
        public object Generate(ISessionImplementor session, object obj)
        {
            return Guid.NewGuid();
        }
    }
}


В маппинге пишу:
<generator class="PersistentData.Generator.UUIDGenerator, PersistentData"/>

Получаю ошибку: 
Could not load type PersistentData.UUIDGenerator. Possible cause: no assembly name specified.
Дважды проверил, что все перебилдилось, а загрузить он все равно пытается PersistentData.UUIDGenerator, а не PersistentData.Generator.UUIDGenerator.

Хрен с ним. В маппинге пишу
<generator class="Generator.UUIDGenerator, PersistentData"/>

Получаю:
System.TypeLoadException: Could not load type 'UUIDGenerator' from assembly 'PersistentData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

Также переносил класс генератора в другую сборку. Там игрался с неймспейсами. Нифига не помогает.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.