2008-09-03 16 views
32

¿Cuál es la mejor herramienta para generar clase Entity y/o archivos hbm y/o sql script para NHibernate?NHibernate Generators

Esta lista a continuación es de http://www.hibernate.org/365.html, ¿cuál es la mejor por qué?

  • Moregen Gratis, Open Source (GPL) Generador de O/R que se puede combinar en proyectos de Visual Studio existentes. También combina cambios a las clases generadas.
  • NConstruct Lite Herramienta gratuita para generar el código fuente de la asignación O/R de NHibernate. Soporte de diferentes bases de datos (Microsoft SQL Server, Oracle, Access).
  • GENNIT NHibernate Code Generator Generador gratuito/comercial de código Web 2.0 de código NHibernate utilizando el diseñador UML en línea WYSIWYG.
  • GenWise Studio with NHibernate Template Producto comercial; Importa su base de datos existente y genera todos los XML y clases, incluidas las fábricas. También puede generar una aplicación web asp.net para su NHibernate BO-Layer automáticamente.
  • HQL Analyzer y hbm.xml GUI Editor
  • ObjectMapper por Mats Helander es una GUI mapeo con apoyo NHibernate
  • MyGeneration es una GUI generador de código basado en la plantilla. Su biblioteca de plantillas incluye plantillas para generar archivos de mapeo y clases desde una base de datos.
  • AndroMDA es un marco de generación de código de código abierto que utiliza Model Driven Architecture (MDA) para transformar los modelos UML en componentes implementables. Admite la generación de capas de acceso a datos que utilizan NHibernate como marco de persistencia.
  • Plantilla de CodeSmith para NH
  • NHibernate Helper Kit es un complemento VS2005 para generar clases y mapear archivos.
  • NConstruct - Intelligent Software Factory Producto comercial; Generación completa del código fuente de .NET C# para todos los niveles del sistema de información a través del sencillo procedimiento del asistente. Asignación O/R basada en NHibernate. Para WinForms y ASP.NET 2.0.

Respuesta

22

Creo que debería mirar Fluent NHibernate en su lugar. Generar asignaciones siempre te lleva a la marca del 80%, y aún tienes que personalizar para obtener lo que deseas. Fluent-NHibernate le permite mapear sus entidades con una API segura y amigable con la refactorización.

+1

Creo que mi escucha acaba de comenzar a palpitar. Estoy tan emocionado por eso. He estado buscando una buena opción para L2S y no he estado muy entusiasmado con NH debido al XML. muchas gracias. –

+0

Me gustaría llamar la atención que este no es un diseñador visual de NHibernate –

+0

. Tuve una experiencia muy negativa con Fluent, me llevó al 90% muchas veces y luego me dejó con los pantalones bajados. Mi experiencia con otra herramienta visual, DevArt Entity Developer, ha sido similar, me da el 90% del camino y luego me deja colgando. Todavía no he encontrado una herramienta que funcione, pero advertiría contra ambos enfoques, a menos que esté esperando un uso realmente básico y nada demasiado avanzado. –

2

He oído algunas cosas sobre fluidez, pero nunca la he usado, así que no puedo decirlo. ¿Tienes tu intellisense configurado para los archivos hbm? Solo escribo mis propios archivos xml, pero sé que eso no es lo que estás buscando.

¿Qué estarías buscando para hacer scripts SQL, generar tablas? Una de las bellezas de NHibernate es su generación de consultas flay, por lo que no tiene que crear SP para todos sus objetos.

3

La primera pregunta que debe hacerse es por qué necesita un generador. Honestamente, en mi experiencia escribiendo archivos hbm no es difícil en absoluto.

Dicho esto, si realmente no desea escribir los archivos hbm, tal vez debería consultar Active Record.

+0

Claro, entiendo su punto y estoy de acuerdo con usted. Me parece que el 95% de la escritura hbms es un trabajo de piernas y solo el 5% restante necesita algo de reflexión, así que solo estaba buscando algo solo para completar el trabajo. – Dan

+4

Si su base de datos contiene suficientes tablas, escribir algo a mano es una pérdida de tiempo –

1

Sí, escribir archivos hbm es muy simple.

Sin embargo, es un gran dolor cuando tienes una gran base de datos.

2

Intenté ambos, NConstruct lite y codesmith. que necesitaba para conseguir el modelo de objetos de una base de datos existente para un proyecto asp.net existente escrito en VB, esta es mi experiencia:

contras CodeSmith:

  • no detecta la herencia entre tablas
  • no se asigna vistas de base
  • complejas uso

pros CodeSmith:

  • genera C# y VB
  • soporte para una gran cantidad de motores de base de datos, incluyendo PostgreSQL
  • Visual Studio integración

contras NConstruct:

  • no genera VB, solamente C#
  • pocos motores DB, solo SQL-Server, Oracle y MS-Access
pros

NConstruct:

  • mapas de puntos de vista
  • detecta automáticamente algunos de herencia (para 1-1)
  • relaciones
  • sencilla

En mi caso NConstruct hizo alrededor del 60% de la obra para mi.

+2

Licencias de desarrollador único Codesmit = $ 299 y NConstruct = $ 198 –

5

Una herramienta comercial para hacer esto es Visual NHibernate. Tenga en cuenta que trabajo para Slyce Software, la compañía que crea Visual NHibernate.

Actualización: Visual NHibernate ha sido abierto. Ver: the announcement

+1

Licencia de desarrollador único = $ 179 si está solo, $ 299 si trabaja para una empresa –

8

Existe una nueva versión 2.0 Beta 2 disponible con muchas características nuevas y soporte para mapeo nhibernate fluido, uno a muchos y muchos a muchos.

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

+0

¡Funciona! Libre y de código abierto –

+0

muchas arrugas todavía ... podría usar un poco de amor dev. –

5

Usted puede probar Mindscape NHibernate Designer que se instala en Visual Studio 2010. A pesar de que todavía no te has probado.

+2

Licencia de desarrollador único = $ 99 –