Я использую шаблон репозитория в своем приложении ASP MVC4, и я подумал, что было бы неплохо создать собственные шаблоны каркаса, чтобы избежать настройки кода каждый раз, когда я что-то генерирую.
Я следил за некоторыми учебниками из Интернета. Я скопировал каталог CodeTemplates из ProgramFiles в свой проект (только некоторые файлы) и очистил свойство Custom Tool для каждого.
Мне удалось достичь 2-х целей:
- переопределить шаблон по умолчанию для контроллера: когда я иду в «Контроллер»> «Добавить»> «Контроллеры» и выбираю «контроллер с действиями чтения / записи и представлениями ...», он использует мой шаблон.
- добавить новый шаблон представления: когда я перехожу к SomeViewFolder>Add>View, я могу выбрать там свой новый шаблон.
Чего мне не удалось добиться, так это создать новый шаблон ControllerWithRepo.tt и иметь возможность выбрать его в «Контроллер»> «Добавить»> «Контроллеры». Несмотря на то, что я создал ControllerWithRepo.tt, он не отображается в раскрывающемся списке шаблонов.
Я знаю, что можно делать то, что я хочу, жестко закодировав вещи в ControllerWithContext.tt , но это кажется хромым решением. Я хотел бы сделать это правильно - передать класс репозитория вместо класса DbContext и сгенерировать контроллер так, как я хочу.
Прямо сейчас, если я попытаюсь поместить свой класс репозитория как dbcontext, он не сможет выполнить скаффолд.
Подводя итог, как я могу создать свой собственный шаблон каркаса контроллера для шаблона репозитория?