.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
.net core + mvc 手撸一个代码生成器的更多相关文章
- 使用Java Socket手撸一个http服务器
原文连接:使用Java Socket手撸一个http服务器 作为一个java后端,提供http服务可以说是基本技能之一了,但是你真的了解http协议么?你知道知道如何手撸一个http服务器么?tomc ...
- 手撸一个SpringBoot-Starter
1. 简介 通过了解SpringBoot的原理后,我们可以手撸一个spring-boot-starter来加深理解. 1.1 什么是starter spring官网解释 starters是一组方便的依 ...
- 手撸一个springsecurity,了解一下security原理
手撸一个springsecurity,了解一下security原理 转载自:www.javaman.cn 手撸一个springsecurity,了解一下security原理 今天手撸一个简易版本的sp ...
- 006.Adding a controller to a ASP.NET Core MVC app with Visual Studio -- 【在asp.net core mvc 中添加一个控制器】
Adding a controller to a ASP.NET Core MVC app with Visual Studio 在asp.net core mvc 中添加一个控制器 2017-2-2 ...
- 008.Adding a model to an ASP.NET Core MVC app --【在 asp.net core mvc 中添加一个model (模型)】
Adding a model to an ASP.NET Core MVC app在 asp.net core mvc 中添加一个model (模型)2017-3-30 8 分钟阅读时长 本文内容1. ...
- 【手撸一个ORM】MyOrm的使用说明
[手撸一个ORM]第一步.约定和实体描述 [手撸一个ORM]第二步.封装实体描述和实体属性描述 [手撸一个ORM]第三步.SQL语句构造器和SqlParameter封装 [手撸一个ORM]第四步.Ex ...
- 第二篇-用Flutter手撸一个抖音国内版,看看有多炫
前言 继上一篇使用Flutter开发的抖音国际版 后再次撸一个国内版抖音,大部分功能已完成,主要是Flutter开发APP速度很爽, 先看下图 项目主要结构介绍 这次主要的改动在api.dart 及 ...
- 通过 Netty、ZooKeeper 手撸一个 RPC 服务
说明 项目链接 微服务框架都包括什么? 如何实现 RPC 远程调用? 开源 RPC 框架 限定语言 跨语言 RPC 框架 本地 Docker 搭建 ZooKeeper 下载镜像 启动容器 查看容器日志 ...
- C#基于Mongo的官方驱动手撸一个Super简易版MongoDB-ORM框架
C#基于Mongo的官方驱动手撸一个简易版MongoDB-ORM框架 如题,在GitHub上找了一圈想找一个MongoDB的的ORM框架,未偿所愿,就去翻了翻官网(https://docs.mongo ...
随机推荐
- python进阶--字典排序
zip()函数 sorted() 要求对字典中,按值的大小排序 解决方案: 利用zip函数 zip函数介绍: zip函数可以将可迭代对象打包成一个个元组,在python3中返回一个对象,在python ...
- SQL Server 存储过程相关语法
一.定义变量及赋值 1.1 普通变量 --定义变量 declare @parameter_set int ) ) --set 关键字赋值 ; --select 赋值 select @parameter ...
- java将复数字符串虚部实部分离,并实现加减运算
java字符串构造复数 将字符串分解为复数的实部和虚部 定义一个复数类,数据成员有实部和虚部,根据传参不同构造方法重载,并定义复数的加减方法,以及toString方法.有难度的便是用字符串构造复数了, ...
- Neo4j电影关系图Cypher
, tagline:'Welcome to the Real World'}) }) }) }) }) }) }) }) CREATE (Keanu)-[:ACTED_IN {roles:['Neo' ...
- 【题解】长度为素数的路径个数-C++
Description 对于正整数n (3≤n<20),可以画出n阶的回形矩阵.下面画出的分别是3阶的,4阶的和7阶的回形矩阵: 对于n阶回形矩阵,从左上角出发,每步可以向右或向下走一格,走2* ...
- Redis原子性写入HASH结构数据并设置过期时间
Redis中提供了原子性命令SETEX或SET来写入STRING类型数据并设置Key的过期时间: > SET key value EX NX ok > SETEX key value ok ...
- MediatR-进程内的消息通信框架
MediatR是一款进程内的消息订阅.发布框架,提供了Send方法用于发布到单个处理程序.Publish方法发布到多个处理程序,使用起来非常方便.目前支持 .NET Framework4.5..NET ...
- Android/AndroidStudio/idea使用教程之git使用(详细)(码云)
已经安装好了AndroidStudio,安装教程 本教程是作者自己摸索出来的,有不足之处还请大家海涵.多多拍砖,互相学习. 第一步:下载git,安装git客户端 直接百度git,下载git 安装g ...
- CSS画出三角形(利用Border)
画出三角形的原理是调整border(边框)的四个方向的宽度,线条样式以及颜色. 如果你将宽度调的足够大,改变不同方向的颜色,你就可以发现盒模型的border是四个梯形一样的线条. div{ width ...
- [leetcode] 20. Valid Parentheses (easy)
原题链接 匹配括号 思路: 用栈,遍历过程中,匹配的成对出栈:结束后,栈空则对,栈非空则错. Runtime: 4 ms, faster than 99.94% of Java class Solut ...