Esiste, o meglio esisteva un tool di code generation, per creare automaticamente le classi partendo dai file di mapping di NHibernate. Questo tool (hbm2net, presente in NHContrib ) è stato un po' dimenticato, per cui ho deciso di provare a riesumarlo, e di ammodernarlo un po' dandogli la possibilità di utilizzare il Text Template Transformation Toolkit (T4). Ho previsto un template interno per la semplice generazione delle classi di mapping, ma potenzialmente è possibile generare con facilità qualsiasi altro codice provvedendo un template esterno, ad esempio mascherine di UI, layer WCF etc etc.
La versione attuale è una pre-alfa, serve solo a dare un'idea, e a vedere se ci sono delle dipendenze in deploy di difficile gestione, non è ben chiaro a me se T4 sia presente in tutte le installazioni di Visual Studio.
Se volete provare il tool potete scaricarlo da qui. Per utilizzare il templating T4 dovete utilizzare la seguente linea di comand:
hbm2net --config=t4config.xml *.hbm.xml
è importante utilizzare il config indicato, altrimenti hbm2net defaulta sul render di NVelocity. Verra creata una cartella generated con i file sorgenti corrisondenti agli hbm.
Potete scaricare hbm2net da qui.
Per provare al volo è incluso nello zip anche un file di mapping simple1.hbm.xml.
Fatemi avere dei feedback!
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.