我正在使用MVC3和EF5。我喜欢我获得支架生成控制器和视图的方式。这样可以快速,一致地创建应用程序。当然,Scaffolding背后的最初想法是创建一个80%的快速启动,显然控制器和视图可以快速定制。但是,是否有任何建议的做法可以保留自定义代码,同时仍然可以重新运行脚手架。我能想到的最近的是从控制器动作等进行外部方法调用。我想我需要将这些调用到T4模板中?也许依赖注入在这里有作用?我已经看到它在域层中用于额外的服务方法。
也许我希望得太多!!!
非常感谢任何想法。
答案 0 :(得分:2)
使用自动生成的控制器代码,只需确保生成的代码创建partial classes。
至于视图,更改视图并重新生成视图更加困难(有些时候是不可能的),而不会在更改视图后丢失所需内容。
<强>更新强>
您可以让代码生成器创建如下文件:
Controllers / ClientController.Auto.cs (自动添加以表示自动生成)
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
namespace SomeCompany.SomeProjectName.Controllers
{
public partial class ClientController
{
public SomeAutoGeneratedMethod()
{
}
public SomeAutoGeneratedProperty { get; set; }
}
}
<强>控制器/ ClientController.cs 强>
using System;
namespace SomeCompany.SomeProjectName.Controllers
{
public partial class ClientController
{
public SomeProgrammerWrittenMethod()
{
}
public SomeProgrammerWrittenProperty { get; set; }
}
}