【问题标题】:Is MVC 3 Scaffolding usable in n-layer applications?MVC 3 Scaffolding 是否可用于 n 层应用程序?
【发布时间】:2011-08-27 16:23:39
【问题描述】:

我见过一些 ASP.NET MVC3 Scaffolding 的例子,但这些都是简单的基本应用程序。具有多个项目的分层/分层解决方案怎么样:

/Data  
/Repository  
/Services  
/UI (MVC3)  

基本的脚手架将所有内容推送到控制器中。

是否可以自定义脚手架模板,使其从 Data 项目中获取 POCO,然后在 Repository 项目中创建存储库,在 Service 项目中创建服务,最后在 MVC 中创建一个对数据上下文一无所知的瘦控制器?

我有点困惑,因为它是真正的生产力助推器。

【问题讨论】:

    标签: asp.net-mvc-3 entity-framework-4 n-tier-architecture asp.net-mvc-scaffolding


    【解决方案1】:

    如果您使用 -Repository 标志,您将获得一个存储库。使用默认模板,该模板位于 Model 文件夹中(如果使用区域,则位于相应的 Area Model 文件夹中)。

    您可以自定义 MvcScaffolding 使用的模板(参见 Steven Sanderson MVCConf2 视频)。但是,如果您从未使用过 powershell 脚本,那么要将事情放到单独的项目等中将会很困难。

    当然,没有什么可以阻止您移动文件、重命名命名空间等。是的,这需要一些工作,但总比没有好。我做到了,我只需要 10 分钟。

    我希望有人会很快制作出类似的 NuGet 包,或者使用额外的工具来简化它。

    正如你所说,它可以提高生产力,但也许你还是需要自己做一点。

    【讨论】:

    • 这正是我想听到的。谢谢。
    • 这不就是我在下面提到的吗?使用 mvcscaffolding 确实可以获得单独的项目支持。
    【解决方案2】:

    查看 Nuget mvcscaffolding 项目 - 好的博客文章位于 http://blog.stevensanderson.com/2011/04/08/mvcscaffolding-scaffolding-custom-collections-of-files/

    您可以对其进行自定义以了解您想要的任何层,并且肯定可以引用其他基于存储库的项目等。

    【讨论】:

      猜你喜欢
      • 2010-10-28
      • 2010-11-14
      • 2018-09-06
      • 1970-01-01
      • 1970-01-01
      • 2011-09-01
      • 2012-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多