8

私は自分の ASP MVC4 アプリでリポジトリ パターンを使用していますが、何かを生成するたびにコードを微調整するのを避けるために、カスタムの足場テンプレートを作成するとよいと思いました。

私はウェブからいくつかのチュートリアルに従いました。ProgramFiles から CodeTemplates ディレクトリをプロジェクト (一部のファイルのみ) にコピーし、それぞれのカスタム ツール プロパティをクリアしました。

私は2つの目標を達成することができました:

  • コントローラーのデフォルト テンプレートをオーバーライドします。[コントローラー] > [追加] > [コントローラー] に移動し、[読み取り/書き込みアクションとビューを持つコントローラー...] を選択すると、テンプレートが使用されます。
  • 新しいビュー テンプレートを追加します。SomeViewFolder>Add>View に移動すると、そこで新しいテンプレートを選択できます。

私が達成できなかったのは、新しいテンプレートControllerWithRepo.ttを作成し、Controller>Add>Controllers で選択できるようにすることでした。ControllerWithRepo.ttを作成しても、テンプレートのドロップダウン リストに表示されません。

ControllerWithContext.ttにハードコーディングすることで、やりたいことを実行できることはわかっています が、それは不十分な解決策のようです。私はそれを正しい方法でやりたいと思っています-DbContextクラスの代わりにリポジトリクラスを渡し、私が望む方法でコントローラーを生成します。

現在、リポジトリ クラスを dbcontext として配置しようとすると、足場の実行に失敗します。

要約すると、リポジトリ パターン用の独自のコントローラー スキャフォールド テンプレートを作成するにはどうすればよいですか?

4

1 に答える 1

0

Overriding the T4 templatesに関するSteve Sandererson の投稿に従って、既存の ControllerWithRepository をオーバーライドすることができました。

于 2012-11-05T18:36:43.247 に答える