2010-09-09 2 views
1

Я собираюсь реорганизовать растущий проект с использованием Castle Activerecord в чистый NHibernate или Fluent NHibernate с шаблоном Service/Repository и POCO.Как конвертировать Castle Activerecord в чистый NHibernate или Fluent NHibernate?

Что было бы самым простым способом получить hbm xml из существующей модели Castle Activerecord?

Другой вопрос, можно ли конвертировать hbm в Fluent NH и наоборот?

ответ

2

http://stw.castleproject.org/Active%20Record.Configuration%20Reference.ashx

Вы можете также произвести отображение NHibernate файлы к AppDomain.BaseDirectory.

< ActiveRecord isDebug = "истинный" > < конфигурации > </Config> </ActiveRecord >

Я думаю, что должно дать вам файл отображения в каталоге приложения

+0

Большое спасибо, что сработало для меня. Надеюсь, мне не понадобится делать это снова, потому что запись в папку bin во время выполнения не является абсолютно чистым способом. –

3

Remi уже указывалось как генерировать hbm из ActiveRecord. Также возможно генерировать отображения hbm из Fluent NHibernate, используя ExportTo(). Невозможно преобразовать hbm в код FNH (то есть C#), но вы можете load them from FNH.

Использование Castle ActiveRecord не означает, что вы не можете использовать репозитории. Фактически, Castle ActiveRecord не заставляет вас использовать шаблон ActiveRecord, и даже не требует, чтобы вы наследовали ActiveRecordBase в своих постоянных классах. Вы можете использовать ActiveRecordMediator в качестве репозитория, или wrap it in a repository interface/implementation как Rhino.Commons.

+1

Я уже использую ActiveRecordMediator, но все же должен иметь атрибуты, от которых я хочу избавиться. Я собираюсь сделать сущности абсолютно стойкими - невежественными. –

0

Существует по крайней мере один проект с открытым кодом для преобразования HMB в FNH:

http://code.google.com/p/nhibernate-hbm-to-fluent-converter/

Как и другие уже сказали, вы можете легко конвертировать ActiveRecord в НВМ и FluentNHibernate к НВМ.

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