Dopo la prima esperienza su un grosso progetto asp.net appena giunto al termine, mi accingo a riusare CodeSmith per generare custom entities,data providers e sql.
La fase di startup del progetto, sempre asp.net(ancora version 1.1 ..sigh..), ha concepito nell'ordine:
- database (su sql server 2000) --> tabelle e relazioni, il tutto secondo alcune guidelines "obbligatorie" create appositamente per consentire e garantire la generazione delle custom entities ed il funzionamento del motore di interrogazione.
- generazione con CodeSmith delle custom entities, dalle tabelle del db
- generazione con CodeSmith dei data providers(interfaccie e classi concrete per sql server) con i comandi di
di inserimento, cancellazione e lettura predefiniti per ciascuna entità.
Nell'eseguire tutte queste operazioni ho scoperto un'altra utilità di questo ormai indispensabile strumento di lavoro che è CodeSmith.
In pratica compilando il codice generato sono venuti a galla una serie di errori commessi durante la progettazione del database, come per esempio la mancanza di relazioni su una determinata colonna di una tabella, piuttosto che l'errata compilazione del tipo di dato di una colonna o ancora l'errata creazione di una relazione.
Ovviamente questo è stato possibile grazie alla forte integrazione tra le entita del database(tabelle e colonne) , le classi autogenerate ed il framework sottostante.
Il vantaggio di aver compilato tutte le classi autogenerate in un colpo solo ha permesso di identificare subito i problemi sul database e correggerli.