0

我正在使用带有 EF5 的 MVC3。我喜欢获取脚手架生成的控制器和视图的方式。这产生了一个很好的工作流程,可以快速、一致地创建应用程序。当然,Scaffolding 背后的最初想法是创建一个 80% 的快速启动,显然控制器和视图可以快速定制。但是,是否有任何推荐的做法来保留自定义代码,同时仍然能够重新运行脚手架。我能想到的最接近的是从控制器操作等进行外部方法调用。我想我需要将这些合并到 T4 模板中???也许依赖注入在这里起作用?我已经看到它在域层中用于额外的服务方法。

可能是我期待太多了!!!

非常感谢您的任何想法。

4

1 回答 1

2

为控制器使用自动生成的代码,只需确保生成的代码创建了部分类

至于视图,更改视图并重新生成视图而不丢失更改后所需的内容要困难得多(有时是不可能的)。

更新

您可以让代码生成器创建如下文件:

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; }
  }
}
于 2012-10-01T21:19:10.090 回答