.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 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

直接下载源码2019-8-19

posted @ 2019-08-16 16:06  提伯斯  阅读(4200)  评论(12编辑  收藏  举报