spe*_*der 5 c# asp.net-mvc ef-code-first asp.net-mvc-3 asp.net-mvc-scaffolding
说我有以下型号:
public class Item
{
public int Id{ get; set; }
public ItemDescription ItemDescription{ get; set; }
}
public class ItemDescription
{
public int Id{ get; set; }
public int Revision{ get; set; }
public string Test{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在包管理器中运行以下命令:
Scaffold Controller Item
Run Code Online (Sandbox Code Playgroud)
生成一些视图和东西...但似乎脚手架忽略任何复杂/非标量数据类型,因此生成很少使用的视图.
我想知道是否有可能指示脚手架对事物更加智能化.这就是我想要发生的事情:
EditorFor利用这些模板实现这一目标的所有代码似乎都是由脚手架生成的,但其构造方式让我感到惊讶,并_CreateOrEdit.cshtml在与视图关联的文件夹中生成"模板".对我来说,这表明脚手架生成的代码不适合以更加递归的方式为模型生成视图.
我的期望是否已经结束,或者我错过了什么?
您可以找到 Visual Studio 用于生成代码的 T4 模板
YourPathToVisualStudio2010\Common7\IDE\ItemTemplates\CSharp\Web\MVC 4\CodeTemplates
更改解决一般问题所需的模板。您可以做的另一件事是创建模板并将其添加到您的特定项目/解决方案中。
查看精彩的Scott Hanselman - T4(文本模板转换工具包)代码生成 - 最佳保存的 Visual Studio 秘密帖子。
我真的鼓励您阅读我的“更多信息”部分中的链接。
祝你今天过得愉快!
几天以来,整个(不仅是 mvc)microsoft webstack(非常感谢 scott hanselman 这个术语;))在 codeplex ASP.NET Webstack上开源。一探究竟!
MVC4 没有 RTM 版本,但也许您感兴趣。
Visual Studio (MVC4) 中的代码生成秘诀
新的食谱功能使 Visual Studio 能够基于可以使用 NuGet 安装的包生成特定于解决方案的代码。Recipes 框架使开发人员可以轻松编写代码生成插件,您还可以使用它来替换“添加区域”、“添加控制器”和“添加视图”的内置代码生成器。由于配方被部署为 NuGet 包,因此可以轻松地将它们签入源代码管理并自动与项目中的所有开发人员共享。它们还可以按解决方案使用。
| 归档时间: |
|
| 查看次数: |
898 次 |
| 最近记录: |