【问题标题】:Custom scaffold for controller控制器的自定义脚手架
【发布时间】:2012-10-25 10:04:51
【问题描述】:

我在我的 ASP MVC4 应用程序中使用存储库模式,我认为创建自定义脚手架模板以避免每次生成内容时都调整代码会很好。

我遵循了网络上的一些教程。我将 ProgramFiles 中的 CodeTemplates 目录复制到我的项目(仅部分文件),并清除了每个文件的自定义工具属性。

我成功实现了 2 个目标:

  • 覆盖控制器的默认模板:当我转到 Controller>Add>Controllers 并选择“具有读/写操作和视图的控制器...”时,它使用我的模板。
  • 添加新的视图模板:当我转到 SomeViewFolder>Add>View 时,我可以在那里选择我的新模板。

我无法实现的是创建一个新模板 ControllerWithRepo.tt 并能够在 Controller>Add>Controllers 中选择它。即使我创建了 ControllerWithRepo.tt,它也不会显示在模板下拉列表中。

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

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

综上所述,如何为存储库模式创建自己的控制器脚手架模板?

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    按照 Steve Sandererson 的 post覆盖 T4 模板,我能够覆盖现有的 ControllerWithRepository。

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多