CodeSmith vs T4:.netTiers级别套件

kku*_*sik 6 .net t4 codesmith

有人将netTiers模板集移植到Visual Studio的T4模板吗?或者是否有类似范围的系统?有人在工作环境中使用T4吗?Codesmith和T4之间有什么(如果有的话)主要差异?

mar*_*c_s 5

我在T4中涉猎了一下 - 嘿,如果它是免费的并且包含在VS2008中,请使用它,对吧?

我的基本想法是创建一组模板来读取数据库表,并从中创建我们自己的"自己动手"的ORM类.

我放弃了T4,很沮丧,甚至无法获得最基本的工作,这在CodeSmith中是小菜一碟.

即使是一个简单的任务,例如选择要使用的服务器,数据库和表,也无法在T4中从模板本身的"外部"有效地完成.是的,您可以将所有这些值硬编码为字符串值到T4模板中 - 但是来吧,这真的不是解决方案,是吗?

CodeSmith非常支持选择服务器,数据库和表格,您可以将它们设置为模板上的属性,只需选择您想要的内容,让模板在您选择的特定表格上执行操作.

我的结论:T4很有前景,但"还没有".它可能适用于非常简单的场景,但是现在,在我看来,它远没有Codesmith那么灵活和强大.

对于像.netTiers这样的场景,我暂时坚持使用Codesmith.


Ole*_*ych 5

T4不是CodeSmith.是的,您可以使用C#或Visual Basic代码的形式在.tt文件中指定参数,并使用<#@ include#>指令来引用代码生成逻辑的实际实现.与使用CodeSmith在XML文件中指定相同信息相比,这不是更难编码.

对于类似NetTiers的T4模板套件,请查看S#arp架构:http://code.google.com/p/sharp-architecture/.