改变他们的模型后重新支持Scaffold

时间:2013-12-12 23:12:30

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

我正在使用Visual Studio 2013和ASP.Net MVC 5.我为我的模型创建了一堆视图,然后我就改变了它们。我想在某些模型上运行scaffolding并自动创建一些视图,然后更改自动生成的视图。除了重新命名某些文件或创建另一个解决方案并复制内容之外,还有其他方法吗?

3 个答案:

答案 0 :(得分:29)

是的,你可以通过使用与以前相同的模型类和控制器名称再次搭建相同的模型来重新搭建。您的现有控制器和视图将被替换。

详细说明: 右键单击项目或控制器文件夹,

添加...新的脚手架项目,

使用Entity Framework的MVC 5控制器,

添加

选择您的模型和数据类

确保您的控制器名称与要替换的名称相同。

答案 1 :(得分:7)

我使用版本控制 - GIT快速安全地完成。我为git使用Git Extensions(http://code.google.com/p/gitextensions/)用户界面。

在重新搭建之前提交您的代码。然后重新构建视图,然后转到staging(Git Extensions中的Commit提交按钮)。它显示了重新构建的所有更改,并为新的和已删除的代码行着色。从那里,您只能选择在控制器中更改的所选新行。在暂存选定的行后,重置未分级的其他更改。

你有它!您已经修改过的代码与新的脚手架部件。做必要的任何编辑和测试并提交。

答案 2 :(得分:1)

这是一个老问题的新答案。它与现有的答案有些相似,但我认为有足够的不同和容易之处,才有价值。

1)按照良好做法将现有项目/解决方案保存到版本控制中。

2)重新搭建脚手架时,请使用不同控制器名称,这将创建一个控制器类,并具有5​​个服务人员视图,但不会覆盖任何已存在的内容,并保留所有现有工作。

3)从重新搭建的控制器中提取适当的方法。当模型更改时,用于创建/编辑的绑定可能会更改,因此请捕获它们。然后删除重新安装的控制器。

4)保留视图以复制和粘贴任何新的或重新定义的模型属性的相应UI代码。复制所有需要的代码后,只需删除重新构建的视图即可。

这是一个很大的问题,因为我们经常不得不更改模型,并且很高兴能自动为我们创建所有基本的UI东西。

相关问题