誰かが netTiers テンプレート セットを Visual Studio の T4 テンプレートに移植しましたか? または、同様の範囲のシステムはありますか? 作業環境で T4 を使用している人はいますか? Codesmith と T4 の主な違いは何ですか?
3 に答える
私は少し T4 に手を出しました - ねえ、それが無料で VS2008 に含まれているなら、それを使ってくださいね?
私の基本的なアイデアは、データベース テーブルを読み取るための一連のテンプレートを作成し、そこから独自の「独自の」ORM クラスを作成することでした。
私は T4 をあきらめました。欲求不満で、CodeSmith で簡単にできる最も基本的なことさえ機能させることができませんでした。
使用するサーバー、データベース、およびテーブルを選択するなどの単純なタスクでさえ、テンプレート自体の「外部」から効率的に T4 で実行することはできません。はい、これらすべての値を文字列値として T4 テンプレートにハードコーディングできますが、それは実際には解決策ではありません。
CodeSmith は、サーバー、データベース、およびテーブルの選択を強力にサポートしており、それらをテンプレートのプロパティとして設定し、必要なものを選択するだけで、選択した特定のテーブルでテンプレートに処理を任せることができます。
私の結論: T4 は有望ですが、まだ「そこにはありません」。非常に単純なシナリオでは機能する可能性がありますが、現時点では、Codesmith ほど柔軟で強力ではないと私は考えています。
.netTiers などのシナリオでは、当面は Codesmith を使用します。
マルク
T4 は CodeSmith ではありません。はい、C# または Visual Basic コードの形式で .tt ファイルにパラメーターを指定し、<#@ include #> ディレクティブを使用して、コード生成ロジックの実際の実装を参照します。これは、CodeSmith を使用して XML ファイルで同じ情報を指定するよりもハード コーディングではありません。
T4 テンプレートの NetTiers のようなスイートについては、S#arp Architecture: http://code.google.com/p/sharp-architecture/を確認してください。
テーブル、ストアド プロシージャ、ビューなどのラッパーを作成する独自の Fluent インターフェイスだけでなく、Linq インターフェイスを備えたオープン ソースである、十分にサポートされている DAL の T4 実装を探している場合は、SubSonic 3.0 を試す必要があります。SubSonic 2.2 には、T4 と Linq インターフェイスを除いた同じ利点があり、リリース モードになっています。SubSonic 3.0 はアルファ版ですが、必要に応じてコードまたは .dll と T4 テンプレートをダウンロードできます。