Qualcuno ha portato il modello netTiers impostato sui modelli T4 di Visual Studio? O esiste un sistema di portata simile? Qualcuno usa T4 in un ambiente di lavoro? Quali (se esistono) grandi differenze ci sono tra Codesmith e T4?CodeSmith v.s. T4: .net Livello suite suite
risposta
Mi sono dilettato in T4 per un po '- hey, se è gratuito e incluso in VS2008, usalo, giusto?
La mia idea di base era creare un set di modelli per leggere una tabella di database e creare da noi le proprie classi ORM "roll-your-own".
Mi sono arreso su T4, frustrato e incapace di ottenere anche le cose più semplici da utilizzare che sono un pezzo di torta in CodeSmith.
Anche un'operazione semplice come selezionare quale server, database e tabella da utilizzare non può essere eseguita in T4 in modo efficiente da "esterno" al modello stesso. Sì, puoi codificare tutti questi valori come valori di stringa in un modello T4, ma dai, non è davvero una soluzione, vero?
CodeSmith offre un ottimo supporto per il prelievo di server, database e tabelle, ed è possibile impostarli come proprietà sul modello e scegliere semplicemente ciò che si desidera e lasciare che il modello faccia le proprie cose su quel particolare tavolo selezionato.
La mia conclusione: T4 è promettente, ma "non c'è" ancora. Potrebbe funzionare per scenari molto semplici, ma al momento, a mio avviso non è neanche lontanamente flessibile e potente come Codesmith.
Per uno scenario come .netTiers, per il momento resterei con Codesmith.
Marc
Potresti ovviamente avere impostazioni in un modello separato e includerlo nel tuo modello di generazione principale. In questo modo, il tuo file delle impostazioni sarà piccolo e tutto sarà contenuto in un singolo file. Potrebbe essere chiamato 'settings.tt' –
@Robert: certo - ma questo non risolve il problema fondamentale - non c'è un modo semplice per passare i parametri ai template T4 in questo momento - un ** MAJOR ** svantaggio a mio parere –
lo so questa è una vecchia domanda, ma nel caso in cui qualcuno si imbatta in una discussione - le T4 ora hanno una direttiva "Parameter". http://www.olegsych.com/2010/05/t4-parameter-directive/ – EBarr
T4 non è CodeSmith. Sì, si specificano i parametri in un file .tt sotto forma di codice C# o Visual Basic e si utilizza una direttiva < # @ include #> per fare riferimento all'attuazione effettiva della logica di generazione del codice. Questo non è più hard-coding di specificare le stesse informazioni in un file XML con CodeSmith.
Per una suite di modelli T4 simile a NetTiers, consultare l'architettura S # arp: http://code.google.com/p/sharp-architecture/.
Se si sta cercando un'implementazione T4 di un DAL ben supportato che sia Open Source con un'interfaccia Linq e una propria interfaccia Fluent che creerà i wrapper per Tabelle, Processi memorizzati, Visualizzazioni ecc. Quindi è necessario provare SubSonic 3.0. SubSonic 2.2 ha la stessa bontà meno il T4 e l'interfaccia Linq ed è in modalità di rilascio. SubSonic 3.0 è in Alpha ma puoi scaricare il codice o una .dll e i modelli T4 se lo desideri.
- 1. Suite a più livelli parametrizzate
- 2. Limita le suite di crittografia a livello JRE
- 3. SpringSource Tool Suite Cambia temi
- 4. Che cos'è una Sanity Suite?
- 5. Copertura URL Django Test Suite
- 6. Utilizzo di WeifenLuo DockPanel Suite
- 7. Suite parametrizzate in Junit 4?
- 8. perl test suite per API
- 9. Impostazione Test Suite in Ruby
- 10. Test-suite Haskell Stack Ghci
- 11. C: libreria di prove POSIX thread suite
- 12. Test Suite in pallone con MongoEngine
- 13. TestNG: esecuzione di più suite con ordine preservato utilizzando il tag <suite-files>
- 14. Cabal Test Suite con tipo dettagliato esempio
- 15. Node.js + mocha + webdriverjs: Test fallito kill suite
- 16. SSLHandshakeException: nessuna suite di crittografia in comune
- 17. Gradle esegue solo una suite di test
- 18. NUnit non in esecuzione Suite test
- 19. Abilita TLSv1.2 e TLS_RSA_WITH_AES_256_CBC_SHA256 Cipher Suite
- 20. Dati da SOA Suite a Axis2 interrotti
- 21. Primavera Tool Suite download e l'installazione
- 22. nodejs mocha suite non è definito errore
- 23. Primavera Tool Suite 3.6.1 non verrà aggiornato
- 24. Come eseguire a livello di codice una suite di test utilizzando JUnit4?
- 25. Suite WPF di terze parti con verifica UI automatizzata/codificata
- 26. Protocolli SSL/TLS e suite di crittografia con AndroidHttpClient
- 27. Esistono buone suite di test automatizzate per Perl?
- 28. CATCH Unit Testing Suite con Visual Studio 2010
- 29. Esecuzione della suite di test JUnit utilizzando Maven
- 30. Caso test selenio vs. Test Suite e utilizzo generale
Mi interessa anche sapere come le persone superano il fatto che ogni modello T4 genera solo un file di output. –
http://www.olegsych.com/2008/03/how-to-generate-multiple-outputs-from-single-t4-template/ –