3

伙计们,

我想创建一些 T4 模板,用于从数据库生成类文件(每个表大约 7 个)以支持我们的内部 ORM(不要问 - 长篇故事和历史原因.....)

我真正想做的是在我的主 TT 模板上有一个属性,可以直观地选择要为其创建文件的服务器、数据库和表(类似于 CodeSmith 中的表选择器)。

由于这似乎不存在(或者确实存在?),我认为下一个最好的方法是使用三个字符串属性作为服务器、数据库、表名,并使用 SMO 连接到该表并获取我需要的列数据。

我尝试遵循 Oleg Sych 的示例,并提出:

<#@ property name="serverName" processor="PropertyProcessor" type="System.String" #>
<#@ property name="databaseName" processor="PropertyProcessor" type="System.String" #>
<#@ property name="tableName" processor="PropertyProcessor" type="System.String" #>

但是如何在我的代码块中引用这些属性,这些属性连接到使用 SMO 指定的服务器来检索数据?

<#
    Server server = new Server();
    Database database = new Database(server, "DASECO_DEV");
    Table table = new Table(database, "T_User");
    table.Refresh();
#>

我尝试将 a<#= serverName #>放在 Server() 构造函数的括号内 - 但这不起作用:-( 好像我有点卡在这里......如果我无法评估,那么拥有属性有什么意义并使用他们的价值观!:-)

有接盘侠吗??

马克

4

1 回答 1

2

这个怎么样?

<#    
    Server server = new Server(serverName);    
    Database database = new Database(server, databaseName);    
    Table table = new Table(database, tableName);    
    table.Refresh();
#>
于 2009-02-11T23:26:51.897 回答