Pergunta

Qual é a melhor ferramenta para gerar arquivos de classe de entidade e/ou hbm e/ou script sql para NHibernate.

Esta lista abaixo é de http://www.hibernate.org/365.html, qual é o melhor por quê?

  • Gerador O/R gratuito e de código aberto (GPL) Moregen que pode ser mesclado em projetos existentes do Visual Studio.Também mescla alterações nas classes geradas.
  • NConstruct Lite Ferramenta gratuita para gerar código-fonte de mapeamento O/R do NHibernate.Suporte a diferentes bancos de dados (Microsoft SQL Server, Oracle, Access).
  • GENNIT NHibernate Code Generator Geração de código gratuito/comercial Web 2.0 de código NHibernate usando o designer UML online WYSIWYG.
  • GenWise Studio com produto comercial NHibernate Template;Importa seu banco de dados existente e gera todos os XML e classes, incluindo fábricas.Ele também pode gerar um aplicativo web asp.net para seu NHibernate BO-Layer automaticamente.
  • Analisador HQL e editor GUI hbm.xml
  • ObjectMapper de Mats Helander é uma GUI de mapeamento com suporte NHibernate
  • MyGeneration é uma GUI geradora de código baseada em modelo.Sua biblioteca de modelos inclui modelos para gerar arquivos de mapeamento e classes a partir de um banco de dados.
  • AndroMDA é uma estrutura de geração de código aberto que usa Model Driven Architecture (MDA) para transformar modelos UML em componentes implementáveis.Ele suporta a geração de camadas de acesso a dados que usam o NHibernate como estrutura de persistência.
  • Modelo CodeSmith para NH
  • NHibernate Helper Kit é um complemento do VS2005 para gerar classes e arquivos de mapeamento.
  • NConstruct - Produto Comercial de Fábrica de Software Inteligente;Geração completa de código fonte .NET C# para todas as camadas do sistema de informação através de procedimento simples de assistente.Mapeamento O/R baseado em NHibernate.Para WinForms e ASP.NET 2.0.
Foi útil?

Solução

Eu acho que você deveria olhar Fluente NHibernate em vez de.A geração de mapeamentos sempre leva você à marca de 80% e ainda precisa personalizar para conseguir o que deseja.Fluent-NHibernate permite mapear suas entidades com uma API segura para compilação e fácil de refatorar.

Outras dicas

Há uma nova versão 2.0 Beta 2 disponível com muitos novos recursos e suporte para nhibernate fluente, mapeamento um-para-muitos e muitos-para-muitos.

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

Você pode experimentar Mindscape NHibernate Designer que é instalado no Visual Studio 2010.Embora eu ainda não tenha experimentado.

Uma ferramenta comercial para fazer isso é Visual NHibernate. Observe que trabalho para a Slyce Software, a empresa que cria o Visual NHibernate.

Atualizar: Visual NHibernate agora é de código aberto.Ver: o anúncio

A primeira pergunta que você precisa se perguntar é por que você precisa de um gerador.Honestamente, na minha experiência, escrever arquivos hbm não é nada difícil.

Dito isto, se você realmente não deseja gravar os arquivos hbm, talvez você deva dar uma olhada Registro Ativo.

Já ouvi algumas coisas sobre fluente, mas nunca usei, então não posso dizer.Você tem seu intellisense configurado para os arquivos hbm?Acabei de escrever meus próprios arquivos xml, mas sei que não é isso que você está procurando.

O que você procuraria em scripts SQL para gerar tabelas?Uma das belezas do NHibernate é a geração de consultas no flay, então você não precisa criar SP's para todos os seus objetos.

Você deve dar uma olhada no NHibernate Designer de Devart: Desenvolvedor de entidades para NHibernate

Observação:Empresa Devart.

Eu tentei ambos, NConstruct Lite e Codesmith.Eu precisava obter o modelo de objeto de um banco de dados existente para um projeto asp.net existente escrito em VB, esta é minha experiência:

contras do codesmith:

  • não detecta herança entre tabelas
  • não mapeia visualizações do banco de dados
  • uso complexo

prós do codesmith:

  • gera c# e VB
  • suporte para vários mecanismos de banco de dados, incluindo PostgreSQL
  • Integração do Visual Studio

Contras do NConstruct:

  • não gera VB, apenas c#
  • alguns mecanismos de banco de dados, apenas SQL-Server, Oracle e MS-Access

Prós do NConstruct:

  • mapas para visualizações
  • detecta automaticamente alguma herança (para relações 1-1)
  • simples

No meu caso, a NConstruct fez cerca de 60% do trabalho para mim.

Sim, escrever arquivos hbm é muito simples.

No entanto, é uma grande dor quando você tem um banco de dados grande.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top