你知道任何ASP.NET MVC代码生成器吗?

时间:2009-09-28 23:50:31

标签: asp.net-mvc code-generation

有没有人知道一个好的/可用的ASP.NET MVC代码/解决方案生成器。理想情况下,它将从域模型构建,但也可以从数据模型构建。

如果你这样做,你能否回答以下问题:

  1. 它会产生“好”的代码吗?
  2. 可以延长吗?
  3. 如果你使用它,你喜欢什么,不喜欢它?
  4. 它脱颖而出有什么极大的恐惧?
  5. 如果没有你知道的那个,你认为这是社区缺少的东西,还是你认为不需要它?您希望在一个功能中看到哪些功能?

    迫不及待想听到你的答案......

    由于 斯科特

4 个答案:

答案 0 :(得分:3)

S#arp Architecture包括使用T4的脚手架生成器。它从模板模型定义生成模型,视图,控制器和测试。你得到完整的CRUD。由于它使用T4(我认为是Visual Studio模板语言),您可以根据需要扩展默认模板。

以下是模板示例:

EntityScaffoldingDetails entityScaffoldingDetails =
    new EntityScaffoldingDetails("Organization.Worker");

/*
 * Property names should be PascalCase.
 * Do not include a property for Id as it will be included automatically.
 */
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("FirstName", "string", "Joe", "[NotNull, NotEmpty]", true) 
);
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("LastName", "string", "Smith", "[NotNull, NotEmpty]", true)
);
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("BirthDate", "DateTime", DateTime.Parse("1/1/1975"))
);
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("Manager", "Employee", null, "[NotNull]")
);

///////////////////////////////////////////////////

// The first parameter should reflect the root directory of your solution
//ScaffoldingGenerator generator = new ScaffoldingGenerator(
    //@"D:\Work\Project\", "Orders", entityScaffoldingDetails); 

// Uncomment this line when you're ready for the scaffolding generator to fire...be sure to recomment after it completes to avoid accidental generating!
//generator.Run();

一个小小的补充:我建议按原样使用它,因为,例如,我更喜欢控制器使用ViewModel,而不是实体。而且我不使用脚手架。但它非常灵活,但您可能需要学习T4。

答案 1 :(得分:2)

您可以尝试名为Radarc的Visual Studio 2010扩展程序。它有一个扩展存储库(称为公式),允许您为不同的体系结构和技术生成解决方案。使用Radarc和MVC公式,您可以使用EF Code First从新域模型或导入现有数据库创建ASP.Net MVC 3应用程序。

我在这个产品团队工作,所以我不太客观回答你的所有问题,但是可以延长。

答案 2 :(得分:2)

你看过Naked Objects MVC了吗?至少出于学术原因非常有趣。

Naked Objects MVC框架将采用域模型(编写为POCO)并将其呈现为完整的HTML应用程序,而无需编写任何用户界面代码 - 通过一小组通用的View和Controller类。该框架使用反射而不是代码生成。 然后,开发人员可以选择使用标准ASP.NET MVC模式创建自定义视图和/或控制器,以供通用用户界面不适用时使用。

答案 3 :(得分:1)

请访问www.datatreepages.com。

您在数据库中连接设计器,它会生成带有排序/搜索/分页的数据输入页面。您还可以设计布局,允许您在屏幕上将数据页链接在一起以获得主/细节关系。

控制器,数据访问,模型,视图模型,csthml,javascript / jquery,html / css都是为您编写的。生成的代码简单且可扩展。