2012-11-05 50 views
8

我在我的ASP MVC4应用程序中使用存储库模式,我认为这将是很好的创建自定义脚手架模板,以避免每次生成东西时调整代码。控制器的自定义脚手架

我跟着一些网络教程。我将ProgramTemplates目录形式ProgramFiles复制到我的项目(只有一些文件),我清除了每个的自定义工具属性。

我设法取得2个球:

  • 覆盖了控制器的默认模板:当我去控制器>添加>控制器,并选择“带读控制器/写操作和视图......”这使用我的模板。
  • 添加一个新的视图模板:当我去SomeViewFolder>添加>视图我可以在那里选择我的新模板。

我无法做到的事情是创建一个新的模板ControllerWithRepo.tt,并能够在控制器来选择它>添加>控制器。尽管我已经创建了ControllerWithRepo.tt,但它并未显示在模板下拉列表中。

我知道可以通过在ControllerWithContext.tt中硬编码的东西来做我想要的,但它似乎是一个蹩脚的解决方案。我想以正确的方式做到这一点 - 传递一个存储库类而不是DbContext类,并以我想要的方式生成控制器。

现在如果我尝试将我的存储库类作为dbcontext,它无法执行脚手架。

总结起来,我该如何为存储库模式创建我自己的控制器脚手架模板?

回答

0

我可以按照Steve Sandererson的post覆盖T4模板来覆盖现有的ControllerWithRepository。