有没有人知道一个好的/可用的ASP.NET MVC代码/解决方案生成器。理想情况下,它将从域模型构建,但也可以从数据模型构建。
如果你这样做,你能否回答以下问题:
如果没有你知道的那个,你认为这是社区缺少的东西,还是你认为不需要它?您希望在一个功能中看到哪些功能?
迫不及待想听到你的答案......
由于 斯科特
答案 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都是为您编写的。生成的代码简单且可扩展。