最近闲来无事,总想倒腾点什么,索性弄下代码生成器,这里感谢叶老板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