我有一个 ASP.NET MVC 4 项目,其中有很多模型需要以自定义方式搭建。我已经自定义了模板来创建 Controller 并按照我想要的方式查看它们。这一切都很好。现在,我编写了一个 PowerShell 脚本来为每个需要搭建的模型同时生成 Controller 和几个 View 。这也很好用。
然后我开始寻找一个 PowerShell 脚本来在一个命令中构建多个模型,因为现在我必须为我拥有的每个模型手动运行该脚本。我发现的第一件事是编写一个脚本,每一行都包含用于构建模型的命令,该命令运行良好,但在我看来仍然需要太多工作。经过更深入的搜索后,我发现这可以通过一个脚本来完成,该脚本具有要搭建的模型列表和一个迭代该列表的 foreach 循环,然后对该列表中的每个项目执行脚手架命令。这好多了!
我现在问自己的唯一一件事是:是否可以编写一些脚本来自动检测模型文件夹中的所有模型,将它们放入列表中,然后执行循环。我问这个问题的原因是因为我拥有的模型不只是几个,而是大约 250 个。并不是我不想手动执行此操作,而是如果添加、更改或删除某些模型怎么办? .
所以我的问题是:有没有一种方法可以“动态”从模型文件夹中获取所有模型并将它们放入将要迭代的列表中?
更新:
这就是我的脚本“ScaffoldAll.ps1”现在的样子(并非所有 250 个模型都在列表中):
$models = "Team", "Player"
foreach($model in $models)
{
Scaffold CustomController $model -Force
}
我想要实现的目标(伪!):
$models = //All files in Model folder, like: Get-Files "\Models"
这可能吗?
最佳答案
阿巴斯,
我一直在使用 MVCScaffolding 模板(使用 EF 代码优先),其工作方式是创建域模型,然后为具有域模型的所有对象搭建支架。该模板实际上会跳过任何已搭建的现有 Controller / View 的搭建。但是,还有一个覆盖命令 (-FORCE),如果您愿意,它将覆盖任何/所有预先存在的脚手架代码。
这是快速链接:
关于asp.net-mvc - 自动检测所有模型到脚手架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208471/