MvcScaffolding - 它是否支持Model-First?

时间:2011-03-09 16:31:58

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

我玩弄了MvcScaffolding项目 - 非常好的BTW;但有没有人知道它是否支持Model First设计方案(例如EF4数据模型 - >从数据库生成)?

如果它确实支持Model First场景,你知道任何描述Model First设计场景的链接吗?

谢谢...

6 个答案:

答案 0 :(得分:3)

MvcScaffolding在脚手架适用的场景方面非常灵活。但是,为了支持除默认代码之外的任何代码,您可能需要稍微调整输出。 MvcScaffolding本身并没有任何限制,而是先使用模型,首先使用代码或其他任何东西。你所要做的就是把它指向一个公共类,它将支持它。

但是,MvcScaffolding附带的文本模板旨在生成与EF 4.1代码第一类型接口的控制器代码,因此需要对生成的控制器代码进行一些调整以支持模型第一种情况。

我刚刚使用模型第一种方法完成了整个MvcScaffolding实现。在我的情况下,我不想使用仍然预发布的实体框架4.1。另外,我不想手工编写实体模型所需的所有类型的代码。我没有在生成完成后调整输出,而是编辑模板以完全按照我想要的方式生成代码。最终结果是我能够生成,编译和运行模型第一实体框架4.0实现。

如果你不害怕稍微调整一下,MvcScaffolding并不挑剔它将支持代码的场景。使用实体框架4.1中实现的代码优先方案肯定更容易,但是通过一些工作,您也可以使用它来支持模型第一个方案。

答案 1 :(得分:2)

答案 2 :(得分:2)

http://www.devart.com/linqconnect/查看LinqConnect。我还没有使用它,但过去一周我一直在研究它,我认为这听起来令人兴奋。

答案 3 :(得分:2)

Building an MVC 3 App with Model First and Entity Framework 4.1

Julie Lerman向我们展示了如何在MSDN上手动完成它

我的建议:在模型文件夹下生成强类型实体类并创建了真实数据库之后,使用mvcscaffolding:

PM> scaffold Controller MyEntityClass

答案 4 :(得分:1)

是的。而且非常好。

即。我正在使用它成功使用新的DbContext POCO T4模板 例如

  1. 添加您的edmx =>从数据库更新
  2. 右键单击edmx designer
  3. 选择“添加代码生成项”
  4. 选择ADO.NET DbContext Generator
  5. 这将删除:ObjectContext派生的.designer.cs代码,并替换为DbContext .tt文件。

    然后脚手架走了! (记得将-DbContextType传递给你的脚手架cmds)

答案 5 :(得分:0)

我已经为数据库第一个场景提出了执行此操作的步骤。见http://weblogs.asp.net/paullitwin/archive/2011/08/11/use-mvc-scaffolding-in-database-first-mode.aspx