Как сгенерировать классы Castle ActiveRecord C # для существующей базы данных - PullRequest
1 голос
/ 24 февраля 2010

Каков наилучший способ создания классов C # для использования с Castle ActiveRecord и NHibernate при существующей структуре базы данных?

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

1 Ответ

2 голосов
/ 24 февраля 2010

Если у вас есть только несколько таблиц с небольшим количеством столбцов, лучше всего писать свои классы вручную. Я бы не советовал писать много классов вручную, если ваша база данных уже существует.

Active Writer может удовлетворить ваши потребности: http://using.castleproject.org/display/Contrib/ActiveWriter

Существуют и другие генераторы кода, находящиеся в разных состояниях полезности. Есть другие вопросы в этой лопасти на StackOverflow. Вот пара:

.NET ORM решение с автогенерацией класса: Subsonic, Castle AR, ...?

Генераторы NHibernate

Обновление 01 июня 2010 г .:

Я публично выпустил генератор кода (на основе T4) для Castle ActiveRecord в качестве приложения для Windows:

http://www.AgilityForORMs.com/Home/Products/

Существуют как бесплатные, так и коммерческие версии генератора кода. Бесплатная версия должна прекрасно работать для большинства баз данных « green field », которые соответствуют определенным соглашениям (например, использование суррогатных первичных ключей).

Генератор кода AgilityForORMs Castle ActiveRecord был протестирован на .NET 3.5 и MS SQL Server 2005/2008. Планируется поддержка других поставщиков баз данных, а также .NET 4.0.

Я бы не написал этот генератор кода, если бы нашел один "с полки", которым я был бы доволен. Я подумал, что с таким же успехом могу потратить некоторое время на упаковку, чтобы другие люди тоже могли извлечь из этого пользу.

...