修改DB First的MVCScaffolding t4模板

时间:2011-09-14 16:37:27

标签: entity-framework asp.net-mvc-3 asp.net-mvc-scaffolding

我希望将MvcScaffolding用于我已有数据库的网站。

我在脚手架中使用存储库开关来为每个实体创建一个存储库,然后编辑该文件以使用实体而不是MvcScaffolding上下文,显然如果我重新生成文件,那么这个更改将被覆盖,我将不得不修复所有80多个存储库!

所以我使用

创建了一个自定义存储库模板
Scaffold CustomTemplate repository repository

我希望编辑,以便正确生成存储库。我知道我需要编辑这一行

<#= contextName #> context = new <#= contextName #>();

但我无法找到我应该用{。}替换contextName的变量。

我知道我可以轻松地在我将要执行的存储库文件中对模型名称进行硬编码但是想知道是否有更好的方法来执行此操作?

想要以编程方式执行此操作的方法的原因是在项目中使用多于1个EF模型并且两者都使用脚手架的情况。

由于

单次

1 个答案:

答案 0 :(得分:1)

脚手架有一个DbContextType参数 -

  

-DbContextType:指定数据库上下文类的名称   应该生成或更新。默认情况下,我们使用名称   上下文,例如,SoccerSiteContext。

您是否可以将其设置为相关模型的名称并避免更改模板?