Question

Quel est le meilleur outil pour générer des fichiers de classe d'entité et/ou hbm et/ou un script SQL pour NHibernate.

Cette liste ci-dessous provient de http://www.hibernate.org/365.html, quel est le meilleur, pourquoi ?

  • Générateur O/R Moregen gratuit et Open Source (GPL) qui peut fusionner dans des projets Visual Studio existants.Fusionne également les modifications apportées aux classes générées.
  • NConstruct Lite Outil gratuit pour générer le code source de mappage NHibernate O/R.Prise en charge de différentes bases de données (Microsoft SQL Server, Oracle, Access).
  • GENNIT NHibernate Code Generator Génération de code Web 2.0 gratuite/commerciale de code NHibernate à l'aide du concepteur UML en ligne WYSIWYG.
  • GenWise Studio avec NHibernate Template Produit commercial ;Importe votre base de données existante et génère tous les fichiers XML et classes, y compris les usines.Il peut également générer automatiquement une application Web asp.net pour votre NHibernate BO-Layer.
  • Analyseur HQL et éditeur d'interface graphique hbm.xml
  • ObjectMapper de Mats Helander est une interface graphique de cartographie avec prise en charge de NHibernate
  • MyGeneration est une interface graphique de générateur de code basée sur un modèle.Sa bibliothèque de modèles comprend des modèles permettant de générer des fichiers de mappage et des classes à partir d'une base de données.
  • AndroMDA est un framework de génération de code open source qui utilise Model Driven Architecture (MDA) pour transformer les modèles UML en composants déployables.Il prend en charge la génération de couches d'accès aux données qui utilisent NHibernate comme cadre de persistance.
  • Modèle CodeSmith pour NH
  • NHibernate Helper Kit est un complément VS2005 permettant de générer des classes et des fichiers de mappage.
  • NConstruct - Produit commercial d'usine de logiciels intelligents ;Génération complète de code source .NET C# pour tous les niveaux du système d’information via une procédure simple d’assistant.Cartographie O/R basée sur NHibernate.Pour WinForms et ASP.NET 2.0.
Était-ce utile?

La solution

je pense que tu devrais regarder NHibernate courant plutôt.La génération de mappages vous amène toujours à la barre des 80 %, et vous devez toujours les personnaliser pour obtenir ce que vous voulez.Fluent-NHibernate vous permet de mapper vos entités avec une API sécurisée pour la compilation et conviviale pour les refactoristes.

Autres conseils

Une nouvelle version 2.0 Beta 2 est disponible avec de nombreuses nouvelles fonctionnalités et la prise en charge du mappage fluide Nhibernate, un-à-plusieurs et plusieurs-à-plusieurs.

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

Vous pouvez essayer Concepteur Mindscape NHibernate qui s'installe dans Visual Studio 2010.Même si je ne l'ai pas encore essayé.

Un outil commercial pour ce faire est Visual NHibernate. Veuillez noter que je travaille pour Slyce Software, la société qui crée Visual NHibernate.

Mise à jour: Visual NHibernate est désormais open source.Voir: l'annonce

La première question que vous devez vous poser est de savoir pourquoi avez-vous besoin d’un générateur.Honnêtement, d'après mon expérience, écrire des fichiers hbm n'est pas difficile du tout.

Cela étant dit, si vous ne voulez vraiment pas écrire les fichiers hbm, vous devriez peut-être vous pencher sur Enregistrement actif.

J'ai entendu certaines choses sur le langage courant, mais je ne l'ai jamais utilisé, donc je ne peux pas le dire.Votre intellisense est-il configuré pour les fichiers hbm ?J'écris juste mes propres fichiers XML, mais je sais que ce n'est pas ce que vous recherchez.

Que rechercheriez-vous pour que des scripts SQL génèrent des tables ?L'une des beautés de NHibernate est sa génération de requêtes à la volée, vous n'avez donc pas besoin de créer des SP pour tous vos objets.

Vous devriez jeter un œil au NHibernate Designer de Devart : Développeur d'entités pour NHibernate

Note:Société Devart.

J'ai essayé les deux, NConstruct Lite et Codesmith.J'avais besoin d'obtenir le modèle objet d'une base de données existante pour un projet asp.net existant écrit en VB, voici mon expérience :

Inconvénients du codeur :

  • ne détecte pas l'héritage entre les tables
  • ne mappe pas les vues de la base de données
  • utilisation complexe

Avantages du codeur :

  • génère c# et VB
  • prise en charge de nombreux moteurs de base de données, notamment PostgreSQL
  • Intégration de Visual Studio

Inconvénients de NConstruct :

  • ne génère pas de VB, seulement c#
  • quelques moteurs de base de données, juste SQL-Server, Oracle et MS-Access

Avantages de NConstruct :

  • cartes pour les vues
  • détecte automatiquement un héritage (pour les relations 1-1)
  • simple

Dans mon cas, NConstruct a fait environ 60 % du travail à ma place.

Oui, écrire des fichiers hbm est très simple.

Cependant, c'est très pénible lorsque vous disposez d'une grande base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top