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

Ali*_*ori 13 asp.net asp.net-mvc scaffolding asp.net-mvc-scaffolding

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

Gre*_*ier 30

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

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

添加...新的脚手架物品,

使用Entity Framework的MVC 5控制器,

选择你的模型和数据类,

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


ins*_*nsp 7

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

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

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

  • 这是否意味着没有任何东西可以让开发人员重新发现他们的观点?这恰好是我期望能够做的第一件事. (3认同)

Ala*_*lan 3

这是对一个老问题的新答案。它与现有的答案有些相似,但我认为足够不同且足够简单,具有价值。

1) 将现有项目/解决方案保存到版本控制中也是一种好的做法。

2) 重新搭建脚手架时,使用不同的控制器名称,这将创建一个控制器类及其 5 个伴随视图,但它不会覆盖任何存在的内容,从而保留所有现有工作。

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

4) 这样,视图就可以为任何新的或重新定义的模型属性复制并粘贴适当的 UI 代码。复制所有需要的代码后,只需删除重新搭建的视图即可。

这是一个很好的问题,因为我们经常需要更改模型,而且很高兴为我们自动创建所有基本的 UI 内容。