最近閑來無事,總想倒騰點什么,索性弄下代碼生成器,這里感謝葉老板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 Tibos.Domain.@Model.DbName { //@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