何时通过NuGet使用MVC Scaffolding与通过MVC3 Tools Update使用MVC Scaffolding

时间:2012-06-22 21:02:13

标签: .net asp.net-mvc-3 visual-studio scaffolding

我对MVC3的各种不同的“主流”脚手架选项感到有些困惑。有一个名为MVCScaffolding的NuGet包。它首次出现在2011年1月,但似乎很活跃并且最近有更新,并由Scott Hanselman等人开发。然后在2011年5月来了MVC3 Tools Update。这个似乎就像它将原始的脚手架创意融入到“开箱即用”的脚手架选项中。但是,自那以后,这还没有更新。

那么 - 这两个脚手架之间的关系是什么(如果有的话)。是否有人应该使用另一个,或者仅仅是品味问题? Visual Studio 2012或MVC4是否会改变任何一种游戏?

感谢您的任何意见。

2 个答案:

答案 0 :(得分:4)

到目前为止我的调查:

<强> MVCScaffolding

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

MVC3工具脚手架

  • 使用EF Database First或EF Code First方法为模型创建控制器和视图的方法
  • 它创建的控制器直接使用数据上下文(而不是像存储库那样通过数据访问抽象)

*有a way to get the MVCScaffolding working with Database First,但您必须稍微处理一下。

我的结论(主观)

  • Code First,使用MVCScaffolding。
  • 数据库首先,使用MVC3工具脚手架。

整体而言,Code First&amp; MVC3脚手架似乎是一种更“最佳实践”的方法。存储库为单元测试创​​建了更加干净的机会,而POCO意味着应用层之间没有数据访问代码流失。

至于MVC4,我不确定。

我希望这有帮助!

答案 1 :(得分: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