代碼生成工具介紹和使用


代碼生成工具介紹和使用

RUF MVC5 Repositories Framework Generator代碼生成工具介紹和使用

 

 

 

功能介紹

 

這個項目經過了大半年的持續更新到目前的階段基本穩定

 

所有源代碼都是開源的,在github https://github.com/neozhu/MVC5-Scaffolder 共享

 

整個項目結構,技術框架完全是基於http://genericunitofworkandrepositories.codeplex.com/ 實現。

 

輕量級的N層架構,Unit Of Work and Repository 設計模式,Entity Framework Code-first的實現方式,這樣的技術架構非常簡潔和完美。

 

而我做的就是通過visual studio 2013提供的 Scaffolder代碼生成向導的擴展接口上進行自定義開發通過實體類生成這些數據架構所需要源代碼,把大量重復的代碼利用工具自動生成實現快速開發的同時又有利於規范開發人員的編程習慣。

 

已經實現的基本功能

 

  1. 單個實體類的增刪改查,都是通過easyui datagrid實現
  2. 實體類中定義了有外鍵關鍵字的字段,會自動生成combox的查詢和編輯操作控件
  3. 實體類中定義了一對多,主從表結構的,系統自動主從表同時編輯操作查詢的頁面和功能
  4. 編輯功能,會根據字段類型,驗證規則生成不同的編輯模式,比如日期類型用datebox,數字類型就用numberbox,必填的驗證可以實現
  5. 查詢功能,會根據字段類型的不同生成不同的控件方便操作,datebox,combox
  6. Excel導入功能,目前只能實現簡單表導入的配置

     

 

 

 

 

 

 

 

使用向導

 

  1. 新建一個Controller

 

 

  1. 選擇 RUF MVC5 Repositories Framework Generator

 

 

  1. 選擇你要生成的Model,Data Context

 

Generate views選項說明

 

  1. Over write existing pages 覆蓋已經存在的view
  2. Generate Master-Detail relationship Action and PageView 如果實體類中定義了外鍵和一對N的集合類型,那么會自動生成主從關系的操作頁面和對應的Controller
  3. Set Form Layout Columns 選擇生成編輯頁面是字段排列成幾列在一行上

 

 

  1. 定義實體驗證規則和中文說明

 

 

  1. 更新數據庫

 

這里使用的EntityFramework 的code-first模式創建的數據訪問類,因此當你修改了實體類的字段屬性系統會重新更新到實體數據庫

 

  1. 打開 Package Manager Console
  2. 運行 add-migration 系統會生成對應修改的腳本
  3. 運行 update-database –script 系統會把腳本更新到物理數據庫同時生產一個sql腳本用於更新你的生產環節或其他數據庫

 

 

 

 

 

 

  1. 完成系統生成

  2. 需要的源代碼文件

 

以下就是標准的MVC N層架構規范代碼

 

  1. /Controllers/ProductsController.cs(控制類)
  2. /Models/ProductMetadata.cs(實體類)
  3. /Repositories/Products/ProductQuery.cs(數據訪問類)
  4. /Repositories/Products/ProductRepository.cs(數據訪問類)
  5. /Services/Products/IProductService.cs(業務邏輯類)
  6. /Services/Products/ProductService.cs(業務邏輯類)
  7. /Views/Products/Index.cshtml(視圖)
  8. /Views/Products/Edit.cshtml(視圖)
  9. /Views/Products/EditForm.cshtml(視圖)
  10. /Views/Products/_PopupSearch.cshtml(視圖)
  11. /Views/Products/Create.cshtml(視圖)

     

  12. 注冊服務

 

修改/App_Start/UnityConfig.cs

 

將新生成的服務類注冊一下才能使用,這就用UnitOfWork設計模式實現依賴注入

 

 

 

 

  1. 運行測試

 

編譯成功后運行的界面如下

 

所有增刪改查都是通過easyui datagrid實現

 

包括必填的驗證規則都已經生成

 

 

 

 

 

針對一對N的結構生成的視圖如下

 

上半部分為主表操作區,下半部分是明細表操作區。

 

 

Demo截屏

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM