Вопрос

Какой лучший инструмент для генерации класса сущностей и / или файлов hbm и / или sql-скрипта для NHibernate?

Приведенный ниже список взят из http://www.hibernate.org/365.html, какой из них самый лучший, почему?

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

Решение

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

Другие советы

Доступна новая версия 2.0 Beta 2 с множеством новых функций и поддержкой fluent nhibernate, сопоставления "один ко многим" и "многие ко многим".

http://www.codeplex.com/Wikipage ?Имяпроекта=nmg

Вы можете попробовать Современный Дизайнер Mindscape который устанавливается в Visual Studio 2010.Хотя я еще не пробовал этого делать.

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

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

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

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

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

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

Вам стоит взглянуть на NHibernate Designer от Devart: Разработчик сущности для NHibernate

Примечание:Компания Devart ( Деварт).

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

минусы кодировщика:

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

профессионалы-программисты:

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

Недостатки конструкции :

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

Плюсы NConstruct :

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top