私は自分の ASP MVC4 アプリでリポジトリ パターンを使用していますが、何かを生成するたびにコードを微調整するのを避けるために、カスタムの足場テンプレートを作成するとよいと思いました。
私はウェブからいくつかのチュートリアルに従いました。ProgramFiles から CodeTemplates ディレクトリをプロジェクト (一部のファイルのみ) にコピーし、それぞれのカスタム ツール プロパティをクリアしました。
私は2つの目標を達成することができました:
- コントローラーのデフォルト テンプレートをオーバーライドします。[コントローラー] > [追加] > [コントローラー] に移動し、[読み取り/書き込みアクションとビューを持つコントローラー...] を選択すると、テンプレートが使用されます。
- 新しいビュー テンプレートを追加します。SomeViewFolder>Add>View に移動すると、そこで新しいテンプレートを選択できます。
私が達成できなかったのは、新しいテンプレートControllerWithRepo.ttを作成し、Controller>Add>Controllers で選択できるようにすることでした。ControllerWithRepo.ttを作成しても、テンプレートのドロップダウン リストに表示されません。
ControllerWithContext.ttにハードコーディングすることで、やりたいことを実行できることはわかっています が、それは不十分な解決策のようです。私はそれを正しい方法でやりたいと思っています-DbContextクラスの代わりにリポジトリクラスを渡し、私が望む方法でコントローラーを生成します。
現在、リポジトリ クラスを dbcontext として配置しようとすると、足場の実行に失敗します。
要約すると、リポジトリ パターン用の独自のコントローラー スキャフォールド テンプレートを作成するにはどうすればよいですか?