.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