.net core + mvc 手擼一個程式碼生成器
最近閒來無事,總想倒騰點什麼,索性弄下程式碼生成器,這裡感謝葉老闆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