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!