asp.net-mvc - 自动检测所有模型到脚手架

标签 asp.net-mvc scaffolding asp.net-mvc-4 asp.net-mvc-scaffolding

我有一个 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),如果您愿意,它将覆盖任何/所有预先存在的脚手架代码。

这是快速链接:

http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/

关于asp.net-mvc - 自动检测所有模型到脚手架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208471/

相关文章:

ruby-on-rails - 添加新列后更新脚手架 View

c# - Paypal Ipn 与 asp.net MVC 集成

javascript - 将原始 json 数组生成到 ASP.NET MVC 中的 View 中

c# - 被 Angularjs 困住了

asp.net-mvc - MVC : How to know which input value from HttpPostedFileBase

ruby-on-rails - 从命令行编辑 Rails 模型

asp.net-mvc - ASP.NET MVC - 以一种形式处理多个对象

vb.net - 为什么 <ScaffoldColumn(False)> 不起作用?

asp.net-mvc - 如何在 ASP.Net MVC - 5 应用程序中显示版本号并自动递增

wcf - 如何在一处声明 MVC 模型和 WCF DataContract?