Подтвердить что ты не робот

Генераторы NHibernate

Каков наилучший инструмент для создания Entity Class и/или hbm файлов и/или sql script для NHibernate.

Этот список приведен ниже http://www.hibernate.org/365.html, что лучше всего, почему?

  • Генератор O/R с открытым исходным кодом (GPL) Moregen, который может объединиться в существующие проекты Visual Studio. Также объединяет изменения в сгенерированные классы.
  • Инструмент NConstruct Lite Free для генерации исходного кода NHibernate O/R. Поддержка различных баз данных (Microsoft SQL Server, Oracle, Access).
  • Генератор кода GENNIT NHibernate Бесплатный/Коммерческий генерация кода Web 2.0 кода NHibernate с использованием WYSIWYG онлайн-дизайнера UML.
  • GenWise Studio с шаблоном NHibernate Коммерческий продукт; Импортирует существующую базу данных и генерирует все XML и классы, включая заводы. Он также может автоматически создавать веб-приложение asp.net для вашего BO-слоя NHibernate.
  • Анализатор HQL и редактор графического интерфейса hbm.xml
  • ObjectMapper by Mats Helander - это графический интерфейс с поддержкой NHibernate.
  • MyGeneration - это графический интерфейс генератора кода на основе шаблонов. Его библиотека шаблонов включает шаблоны для генерации файлов сопоставления и классов из базы данных.
  • AndroMDA - это среда генерации кода с открытым исходным кодом, которая использует Model Driven Architecture (MDA) для преобразования моделей UML в развертываемые компоненты. Он поддерживает создание слоев доступа к данным, которые используют NHibernate в качестве своей инфраструктуры персистентности.
  • Шаблон CodeSmith для NH
  • NHibernate Helper Kit - это надстройка VS2005 для создания классов и файлов сопоставления.
  • NConstruct - интеллектуальное программное обеспечение Factory коммерческий продукт; Полная генерация исходного кода .NET С# для всех уровней информационной системы через простую процедуру мастера. O/R, основанное на NHibernate. Для WinForms и ASP.NET 2.0.
4b9b3361

Ответ 1

Я думаю, вам стоит вместо этого взглянуть на Fluent NHibernate. Генерирование сопоставлений всегда приводит вас к отметке 80%, и вам все равно придется настраивать, чтобы получить то, что вы хотите. Fluent-NHibernate позволяет вам сопоставлять ваши объекты с помощью компилируемого и рефакторингового API.

Ответ 2

Там есть новая версия 2.0 Beta 2 с множеством новых функций и поддержка свободного графического отображения nhibernate, one-to-many и many-to-many.

http://www.codeplex.com/Wikipage?ProjectName=nmg

Ответ 3

Коммерческий инструмент для этого - Visual NHibernate. Обратите внимание, что я работаю для Slyce Software, компании, которая создает Visual NHibernate.

Обновление: Visual NHibernate теперь работает с открытым исходным кодом. Смотрите: объявление

Ответ 4

Вы можете попробовать Mindscape NHibernate Designer, который устанавливается в Visual Studio 2010. Хотя я еще не пробовал.

Ответ 5

Первый вопрос, который вам нужно задать себе, - это то, почему вам нужен генератор. Честно говоря, по моему опыту писать hbm файлы не сложно.

Если вы действительно не хотите писать файлы hbm, возможно, вам стоит заглянуть в Active Record.

Ответ 6

Я слышал кое-что о беглоте, но никогда не использовал его, поэтому не могу сказать. У вас есть intellisense для файлов hbm? Я просто пишу свои собственные XML файлы, но я знаю, что не то, что вы ищете.

Что бы вы искали SQL-скрипты для создания таблиц? Одна из красавиц NHibernate - это генерация запросов на флеш, поэтому вам не нужно создавать SP для всех ваших объектов.

Ответ 7

Я попробовал оба: NConstruct lite и codemith. Мне нужно было получить объектную модель из существующей базы данных для существующего проекта asp.net, написанного на VB, это мой опыт:

codemith cons:

  • не обнаруживает наследование между таблицами
  • не отображает представления базы данных
  • сложное использование

codemith pros:

  • генерирует С# и VB
  • поддержка многих движков БД, включая PostgreSQL
  • Интеграция с Visual Studio

NConstruct cons:

  • не генерирует VB, только С#
  • несколько движков DB, ​​только SQL-Server, Oracle и MS-Access

Преимущества NConstruct:

  • карты для просмотров
  • автоопределяет некоторое наследование (для отношений 1-1)
  • просто

В моем случае NConstruct сделал около 60% работы для меня.

Ответ 9

Да, писать hbm файлы очень просто.

Однако это огромная боль, когда у вас большая БД.