MVC Scaffolding SmartCode-Engine 更新

概述

經過擴展visual studio.net scaffolding組件,添加了一套功能完善的代碼模板,包括Controller,Model,View,Businessd等各類功能的代碼,配合Entity Framework Code-Frist功能實現快速構建業務系統的一套開發工具.css

主要優點

市面上相似的代碼生成工具備不少,但徹底集成在visual studio.net以插件形式存在的幾乎沒有,大部分都是經過先定義表結構(數據字典)再運行工具生成對應的代碼.而後再手工拷貝到對應的項目中,經過二次開發visual studio extions 插件集成代碼模板就簡單的多,只須要把實體對象定義出清楚,直接再項目中運行新增controller後選擇須要的實體對象就能夠.很是快捷,每次須要添加新的通用功能直接修改模板就能夠持續更新。html

不足之處

目前scaffolding組件只能在一個solution中的單個project中添加源代碼文件,尚未辦法同時在多個project中生成不一樣的代碼,若是要實現對很少項目,包括.net core項目也能生成代碼就須要考慮使用【自定義擴展Visual Studio.net Extensions】來作二次開發,前端

自定義Visual Studio.net Extensions 開發符合ABP vnext框架代碼生成插件[附源碼] 是我作的一個嘗試的項目,因爲大部分都是非託管代碼,調試實在是很是麻煩,須要花不少時間去作。git

主要功能

  • 與Visual Studio.Net 2017無縫集成
  • 快速生成標準的C.R.U.D代碼
  • 符合經典的Asp.Net MVC5 N層架構
  • 運行環境.Net framework 4.7.1+
  • 支持Sql Server,MySql,Oracle等主流數據庫
  • 前端Javascript採用ES6規範

Github download Demogithub

細節提高

  • 項目開始與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前端框架

相關文章
相關標籤/搜索