.net core + mvc 手擼一個程式碼生成器

  • 2019 年 10 月 3 日
  • 筆記

最近閑來無事,總想倒騰點什麼,索性弄下程式碼生成器,這裡感謝葉老闆FreeSql的強大支援.

以前也用過兩款不錯的程式碼生成器,這裡說說我的看法

1.動軟程式碼生成器,優點很明顯,免費,簡單,但是沒法高度自定義(在模板的基礎上做某些處理,改變文件名規則等….)

2.CodeSmith,優點是功能強大,但是收費,破解麻煩,規則多編寫模板也麻煩

這裡先上圖,頁面布局使用的Layui + zTree + jq

這裡簡單的講講玩法

NO.1 添加伺服器

 

 選擇資料庫類型,填寫伺服器名稱(可以隨意填寫)與地址(完整的連接地址,包含埠),可以指定資料庫,不指定則載入所有的資料庫,點擊保存會將該伺服器資訊保存到sqlite

NO.2 獲取伺服器下資料庫的詳細資訊

單擊剛才添加的伺服器連接,會非同步載入該伺服器下所有資訊,並將表資訊快取

NO.3 配置模板資訊

模板跟視圖對應,所有的模板都是基於Razor引擎,程式碼如下

@model TableConfig  <pre>  using System;  //EFX Code Generation Template 1.0  //author:Tibos  //blog:www.cnblogs.com/Tibos  //Entity Code Generation Template  namespace [email protected]  {      //@Model.FullName;      public class @Model.FullName:BaseEntity      {      @foreach (var item in Model.ColumnConfig)      {          <text>          /// <summary>          /// @Html.Raw(item.Remark)          /// </summary>          public virtual @item.CsType @item.PropName          {              get;              set;          }          </text>      }        }  }  </pre>

NO.4 展開資料庫,勾選需要生成表以及模板,點擊生成即可

 編譯好的打包文件下載,需要安裝.net core SDK, Shift + 滑鼠右鍵啟動 PowerShell,輸入 dotnet .CodeGenerator.dll,打開瀏覽器輸入 http://localhost:9420/home/index 即可

 開源地址:https://github.com/wmowm/EFX.Core/tree/master/CodeGenerator

不知道github怎麼下載指定目錄的,直接訪問 https://minhaskamal.github.io/DownGit/#/home?url=https:%2F%2Fgithub.com%2Fwmowm%2FEFX.Core%2Ftree%2Fmaster%2FCodeGenerator

直接下載源碼2019-8-19