Pergunta

Apenas comecei a aprender NHiberate. Parece um pouco entediante para gravar arquivos hbm.xml configuração adequada para cada tabela de banco de dados.

A questão é pode NHibernate ler em tabelas e recuperar automaticamente relacionamentos e arquivo de configuração necessários, bem como aulas de mapeador de banco de dados para você? Parece que o programador ainda tem que fazer um monte de trabalho de base inicialmente. Então me deparei com CodeSmith que tem modelos para NHiberate? Será que preencher a lacuna?

Foi útil?

Solução

Você pode usar modelos de código, mas isso ainda cria um IMHO dor. A melhor maneira é usar Fluente nHibernate . Eles têm um novo recurso de auto-mapeador, que utiliza a configuração por convenção. Não há arquivos de mapeamento, ele só faz suposições que você usar nomes semelhantes e pode definir regras de como converter um nome de entidade para um nome de tabela.

Outras dicas

geração de código pode preencher essa lacuna muito bem, eu comecei a usar CodeSmith, mas depois eles fizeram que um item de pagamento para que eu se mudou para MyGeneration . Minha abordagem é atacar o DB primeiro, código gen os arquivos de mapeamento e classes gen se não existir. Que recebe algo acontecendo muito rapidamente, ótimo para um protótipo e criar dados de teste.

Os arquivos de mapeamento, classes e DB são muitas vezes depois mudou com a mão. Em alguns casos, eu tentei obter a geração de código de trabalho como parte do CI -, mas está provado difícil fazer isso, a menos que você está disciplinado sobre onde você parte que você está mão alterações de código trabalhada. classes parciais foram uma ajuda, mas ainda prob para obter toda a equipe na mesma página, ninguém gosta de ter seu código substituído por uma ferramenta, mesmo se você pode, então, rollback e mesclagem.

Eu trabalho para CodeSmith ... Por favor, tenha em mente que MyGeneration não foi atualizado para sempre o que significa que carece de apoio também. CodeSmith apoia plenamente os seus produtos e modelos. Isto significa que qualquer erros modelo também será fixa e verificada por CodeSmith.

Graças

-Blake Niemyjski

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