Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

时间:2023-03-09 08:07:54
Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

Asp.net mvc 5 CRUD代码自动生成工具

-Visual Studio.net2013 Saffolding功能扩展

上次做过一个《Asp.net webform scaffolding结合Generic Unit of Work & (Extensible) Repositories Framework代码生成向导

是生存Web Form的。

这次看到网上有生成MVC Saffolding扩展原作者的代码 https://github.com/robinli/MVC5-Scaffolder

我在他的基础上整合了Generic Unit of Work & (Extensible) Repositories Framework,并且添加分页和查询功能。

开发环境

Generic Unit of Work & (Extensible) Repositories Framework 下载地址 http://genericunitofworkandrepositories.codeplex.com/releases/view/113204

Happy.Scaffolding.MVC5.vsix (源代码下载地址(https://github.com/neozhu/MVC5-Scaffolder) 如果觉得好请点赞 :)

Unity

Unity bootstrapper for asp.net mvc

Demo程序http://files.cnblogs.com/files/neozhu/mvcscaffoldingDemo.zip

项目结构

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

新增实体和DbContext

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

Category,Product自己定义的实体对象

CategoryMetadata和ProductMetadata是通过向导生成主要用于验证和显示

创建一个新的Controller

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

创建metadata类的属性

工具会自动生成以下几个文件

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

Controller

----CategoriesController.cs

Repositories

---CategoryRepository.cs

Services

---ICategoryService.cs

---CategoryService.cs

View

---Categories

-----Insert.cshtml

-----Edit.cshtml

-----EditForm.cshtml

-----Create.cshtml

具体代码请看Demo程序

注册服务

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

修改UnityConfig.cs

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

将需要用的Repository和Service注册进去

运行调试

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

查询页面

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

编辑页面

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

删除功能

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

新增页面,如果有外键关联会自动生成select选择

后续改进

新增修改采用popup的方式,单页面使用ajax form提交做到局部刷新

新增一对多的修改和新增页面

使用更多的ajax功能