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

.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