首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scaffold生成的控制器和视图代码中保留自定义代码的推荐方法是什么?

在scaffold生成的控制器和视图代码中保留自定义代码的推荐方法是什么?
EN

Stack Overflow用户
提问于 2012-10-02 05:13:33
回答 1查看 110关注 0票数 0

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

也许我的期望太高了!

非常感谢你的任何想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-02 05:19:10

使用自动生成的控制器代码,只需确保生成的代码创建partial classes即可。

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

已更新

你可以让你的代码生成器创建这样的文件:

Controllers/ClientController.Auto.cs (自动添加以表示自动生成)

代码语言:javascript
复制
//------------------------------------------------------------------------------
// <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; }
  }
}

Controllers/ClientController.cs

代码语言:javascript
复制
using System;

namespace SomeCompany.SomeProjectName.Controllers
{
  public partial class ClientController
  {
    public SomeProgrammerWrittenMethod()
    {
    }

    public SomeProgrammerWrittenProperty { get; set; }
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12681196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档