3

皆さん、

社内のORMをサポートするためにデータベースからクラスファイル(テーブルごとに約7つ)を生成するためのT4テンプレートをいくつか作成したいと思います(質問しないでください-長い話と歴史的な理由.....)

私が本当にやりたいのは、メインのTTテンプレートに、ファイルを作成するサーバー、データベース、およびテーブルを視覚的に選択するためのプロパティ(CodeSmithのテーブルピッカーのようなもの)を用意することです。

それは存在しないようです(または存在しますか?)ので、次善の策は、サーバー、データベース、テーブル名に3つの文字列プロパティを使用し、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();
#>

Server()コンストラクターの括弧内に入れてみました<#= serverName #>が、うまくいきません:-(ここで少し立ち往生しているようです......評価できない場合にプロパティを持つことのポイントは何ですかそしてそれらの値を使用してください!:-)

テイカーは?

マーク

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 に答える