4

我对 MVC3 的各种不同的“主流”脚手架选项有点困惑。有一个名为MVCScaffolding的 NuGet 包。它于 2011 年 1 月首次出现,但似乎很活跃并且最近有更新,由 Scott Hanselman 等人开发。然后在 2011 年 5 月出现了MVC3 工具更新。这似乎将最初的脚手架想法融入了“开箱即用”的脚手架选项。但是,此后一直没有更新。

那么 - 这两个脚手架(如果有的话)之间的关系是什么。是否存在应该使用一个而不是另一个的情况,或者这只是一个品味问题?Visual Studio 2012 或 MVC4 是否会改变游戏规则?

感谢您的任何意见。

4

2 回答 2

4

从我目前的调查来看:

MVC脚手架

  • 旨在使用 Code First EF 实现*,带有 DBContext 数据上下文和 POCO 模型
  • 提供了一种使用存储库数据访问模式创建 MVC Web 应用程序构建的非常快速的方法

MVC3 工具脚手架

  • 一种为模型创建控制器和视图的方法,使用 EF 数据库优先或 EF 代码优先方法
  • 它创建的控制器直接使用数据上下文(而不是通过像存储库这样的数据访问抽象)

*有一种方法可以让 MVCScaffolding 与 Database First 一起工作,但你必须稍微努力一下。

我的结论(主观)

  • 代码首先,使用 MVCScaffolding。
  • 数据库 首先,使用 MVC3 Tools 脚手架。

总的来说,Code First & MVC3 Scaffolding 似乎是一种更“最佳实践”的方法。存储库为单元测试创​​造了更干净的机会,而 POCO 意味着没有跨应用程序层的数据访问代码泄露。

至于MVC4,我不确定。

我希望这有帮助!

于 2012-06-24T03:09:03.803 回答
0

MVC Scaffolding在 MVC 4 上运行良好。过去几周我一直在使用 Visual Studio 2012 在一个新的 ASP.NET MVC 4 项目中使用它,一切似乎都很好。

这篇文章展示了一个很好的例子: http: //www.codeproject.com/Articles/468777/Code-First-with-Entity-Framework-5-using-MVC4-and

它是开源的,用于检查变更集,即链接: http: //mvcscaffolding.codeplex.com/SourceControl/list/changesets

于 2013-05-28T14:49:39.293 回答