MVC Scaffolding SmartCode-Engine 更新
概述
通过扩展visual studio.net scaffolding组件,添加了一套功能完善的代码模板,包括Controller,Model,View,Businessd等各种功能的代码,配合Entity Framework Code-Frist功能实现快速构建业务系统的一套开发工具.
主要优势
市面上类似的代码生成工具有很多,但完全集成在visual studio.net以插件形式存在的几乎没有,大部分都是通过先定义表结构(数据字典)再运行工具生成对应的代码.然后再手工拷贝到对应的项目中,通过二次开发visual studio extions 插件集成代码模板就简单的多,只需要把实体对象定义出清楚,直接再项目中运行新增controller后选择需要的实体对象就可以.非常快捷,每次需要添加新的通用功能直接修改模板就可以持续更新。
不足之处
目前scaffolding组件只能在一个solution中的单个project中添加源代码文件,还没有办法同时在多个project中生成不同的代码,如果要实现对不多项目,包括.net core项目也能生成代码就需要考虑使用【自定义扩展Visual Studio.net Extensions】来做二次开发,
自定义Visual Studio.net Extensions 开发符合ABP vnext框架代码生成插件[附源码] 是我做的一个尝试的项目,由于大部分都是非托管代码,调试实在是非常麻烦,需要花很多时间去做。
主要功能
- 与Visual Studio.Net 2017无缝集成
- 快速生成标准的C.R.U.D代码
- 符合经典的Asp.Net MVC5 N层架构
- 运行环境.Net framework 4.7.1+
- 支持Sql Server,MySql,Oracle等主流数据库
- 前端Javascript采用ES6规范
细节提升
- 项目开始与2014年
- Controller升级异步执行采用(async/await)
- 全部使用Microsoft Unity DI & IoC管理创建对象
- 前端框架采用Smart Admin模板
- 前端控件使用最新Easyui组件并保持持续更新
- 前端Js Callback改成箭头函数(Arrow Function)加入(async/await)方法
- 新增对数据编辑模式的设定一种是弹出窗口操作,一种是直接在datagrid内部开启编辑状态
- 更友好更详细的操作信息的提示
为什么使用EasyUI而不使用Smart Admin模板自带的标准Input.主要标准的Input虽然样式更漂亮,但功能比较单一,很多操作不是很方便,EasyUI社区比较活跃文档比较全面入手比较简单.但不足之处就是与responsive htmj兼容性不好,这里主要是我对easyui css不熟导致
代码模板
模板 | 功能 |
Controller.cs.t4 | 控制层代码与View层所有操作包括增删改查的全部功能 |
EntityQuery.cs.t4 | 查询逻辑的封装类参考URF.NET中的功能 |
EntityRepositoryExtension.cs.t4 | 对实体对象的增删改查的封装参考URF.NET中的功能 |
IEntityService.cs.t4 | 业务逻辑层代码参考URF.NET中的功能 |
EntityService.cs.t4 | 业务逻辑层具体实现的代码参考URF.NET中的功能 |
Index.cs.t4 | 主View代码包括datagrid现实,增删改查的功能实现 |
_PopupDetailFormView.cs.t4 | 弹出框操作表单 |
... | 辅助功能代码 |
... |
Demo
项目案例
我的联系方式,欢迎讨论
qqq群: 942771435
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix