¿Alguien ha portado la plantilla de netTiers establecida en las plantillas T4 de Visual Studio? ¿O hay un sistema de alcance similar? ¿Alguien usa T4 en un ambiente de trabajo? ¿Cuáles (si las hay) diferencias importantes existen entre Codesmith y T4?CodeSmith v.s. T4: suite de nivel .netTiers
Respuesta
Me metí en T4 por un tiempo - oye, si es gratis y está incluido en VS2008, úsalo, ¿verdad?
Mi idea básica era crear un conjunto de plantillas para leer una tabla de base de datos y crear nuestras propias clases de ORM "roll-your-own".
Renuncié a T4, frustrado e incapaz de hacer funcionar incluso las cosas más básicas que son un pedazo de pastel en CodeSmith.
Incluso una tarea simple como seleccionar qué servidor, base de datos y tabla usar no se puede hacer en T4 de manera eficiente desde "fuera" de la plantilla misma. Sí, puedes codificar todos estos valores como valores de cadena en una plantilla T4, pero vamos, eso realmente no es una solución, ¿o sí?
CodeSmith tiene un gran soporte para elegir servidor, base de datos y tablas, y puede establecerlos como propiedades en la plantilla y simplemente elegir lo que desee y dejar que la plantilla haga sus cosas en esa tabla particular que eligió.
Mi conclusión: T4 es prometedor, pero "todavía no". Podría funcionar para escenarios muy simples, pero en este momento, en mi opinión, no es ni mucho menos tan flexible y poderoso como Codesmith.
Para un escenario como .netTiers, me quedaría con Codesmith por el momento.
Marc
Por supuesto, puede tener configuraciones en una plantilla separada e incluirlas en su plantilla de generación principal. De esta manera, su archivo de configuración será pequeño y todo estará contenido en un solo archivo. Podría llamarse 'settings.tt' –
@Robert: seguro, pero eso no resuelve el problema fundamental: no hay una manera fácil de pasar parámetros a las plantillas T4 en este momento, un inconveniente ** MAYOR ** en mi opinión –
Lo sé esta es una vieja pregunta, pero por si acaso alguien tropieza con la discusión: T4 ahora tiene una directiva "Parameter". http://www.olegsych.com/2010/05/t4-parameter-directive/ – EBarr
T4 no es CodeSmith. Sí, especifica los parámetros en un archivo .tt en forma de código C# o Visual Basic y usa una directiva < # @ include #> para hacer referencia a la implementación real de la lógica de generación de código. Esto no es más difícil de codificar que especificar la misma información en un archivo XML con CodeSmith.
Para obtener un conjunto de plantillas T4 similar a NetTiers, consulte S # arp Architecture: http://code.google.com/p/sharp-architecture/.
Si está buscando una implementación T4 de un DAL bien soportado que sea de código abierto con una interfaz Linq, así como su propia interfaz fluida que creará envoltorios para tablas, procesos almacenados, vistas, etc. Entonces debe probar SubSonic 3.0. SubSonic 2.2 tiene la misma bondad menos la T4 y la interfaz Linq y está en modo de lanzamiento. SubSonic 3.0 está en Alpha, pero puede descargar el código o un .dll y las plantillas de T4 si lo desea.
- 1. ¿Alternativas gratuitas de Codesmith?
- 2. Ruby Minitest: ¿Configuración de nivel Suite o Clase?
- 3. Prueba de rendimiento: sem_t v.s. dispatch_semaphore_t y pthread_once_t v.s. dispatch_once_t
- 4. Usando NHibernate con Codesmith para generar ORM
- 5. Programación genérica v.s. Metaprogramación
- 6. ConcurrentHashMap.put V.S. ConcurrentHashMap.replace
- 7. java.util.zip - ZipInputStream v.s. ZipFile
- 8. NSFetchedResultsController v.s. UILocalizedIndexedCollation
- 9. Operando plantillas T4 de otra plantilla T4
- 10. html button v.s. html submit?
- 11. C: biblioteca de hilos POSIX test-suite
- 12. argumento posicional v.s. argumento de palabra clave
- 13. Life Cycle Tools Suite
- 14. Uso de WeifenLuo DockPanel Suite
- 15. GPS V.S. acelerómetro para calcular la distancia
- 16. WCF v.s. legado ASP.Net Servicios Web
- 17. Comentarios en Plantillas T4
- 18. Comenzando con T4
- 19. T4 y TextTemplatingFileGenerator
- 20. Django Test Suite Cobertura URL
- 21. SpringSource Tool Suite Cambia temas
- 22. plantilla de T4 y Assembly.Load
- 23. métodos de extensión en T4
- 24. ¿Qué es una Suite Sanity?
- 25. suite de prueba de conformidad HTTP
- 26. suite de regresión de código abierto
- 27. NUnit no se ejecuta Pruebas de Suite
- 28. plazo t4 automáticamente las plantillas
- 29. NHaml T4 plantillas para CRUD?
- 30. Ejecutando JUnit Test en paralelo en Suite Level?
También me interesa saber cómo las personas superan el hecho de que cada plantilla T4 genera solo un archivo de salida. –
http://www.olegsych.com/2008/03/how-to-generate-multiple-outputs-from-single-t4-template/ –