2009-12-02 3 views
0

Fluent NHibernate в настоящее время unable to use the IParameterizedType of a CustomType, но мне нужно использовать свободное отображение, потому что я хочу настроить отображение в моем коде.Есть ли способ обхода неподдерживаемого IParameterizedType в Fluent NHibernate?

Есть ли обходной путь для Fluent NHibernate, который каким-то образом вводит элементы XML, которые будут использоваться в нормальном XML-файле сопоставления?

Я уже нашел аналогичный SO-вопрос "Fluent Nhibernate problem (ClassMap)", но данный ответ, похоже, не работает с Fluent NHibernate 1.0.

ответ

1

Поскольку исправление для вашей проблемы существует в последнем Fluent NHibernate, но не в 1.0 (как показано на Fluent Nhibernate problem (ClassMap), вы должны использовать эту версию вместо этого.

См Getting Started руководства, в разделе «Получение . источник»для получения инструкций по получению последней версии

в качестве альтернативы, вы можете отобразить этот один класс с традиционным * .hbm.xml файлом, в то время как ваши другие классы сопоставляются с Fluent NHibernate. Пример:

var sessionFactory = Fluently.Configure() 
    .Database(...) 
    .Mappings(m => 
    { 
     m.FluentMappings.AddFromAssemblyOf<...>(); 
     m.HbmMappings.AddFromAssemblyOf<...>(); 
    }) 
    .BuildSessionFactory(); 
+0

Я проверил источник в http://fluent-nhibernate.googlecode.com/svn/trunk/, но даже Grep не может найти функцию под названием AddAlteration. Вы сами пробовали код примера или я что-то упускаю? – Martin

+0

Прошу прощения. Я предположил, что функциональность все еще существует. Я тоже посмотрел на исходный код и подтвердил, что его больше нет. Мое второе предположение, «m.HbmMappings ...», должно все равно быть действительным. –

+0

Как я уже упоминал в своем вопросе, я хочу сгенерировать отображение внутри кода. Поэтому статический XML-файл сопоставления не является альтернативой мне. – Martin

1

Мне нужно использовать свободное отображение, потому что я хочу настроить отображение в своем коде.

Вам не обязательно использовать свободное отображение, чтобы настроить сопоставление с кодом. NHibernate поддерживает динамическое сопоставление.

Here is an example of dynamic mapping in NHibernate.

Смежные вопросы