开源框架 - 新 代码生成器 WebFirst / .NET Core
框架描述
WebFirst 是一新代的 代码生成器,用法简单,功能强大,支持多种数据库 ,具体功能如下:
一、 建库、CodeFirst方式在线建表,没用到CodeFirst的用户可以用工具轻松体验,支持公共字段
二、导出EXCEL文档,把每个表的数据导出来
三、模版管理 可以自个添加修改模版,使用的是Razor模版引擎对C#程序员更加友好
四、方案管理,可以创建自已的生成方案,修改方案
五、支持扩展模版属性,支持生成更加丰富的前端代码
六、支持生成解决方案
七、支持生成附加文件,支持文件后缀
八、支持视图
九、支持自定义数据类型
代码生成器的使用场景
一、提高工作效率
我们都知道一个CRUD其实如果有代码生成器的话只需要几分钟就可以把完整的功能做完,如果用手去写那么可能就要花掉一整天的时间,多出来的这些时间学学技术多好
二、大量重复有共性的功能
使用代码生成器最重要的就是减少大量重复的工作,比如我们有 数据库model 有表单model 有Grid绑定的 model 光写这些MODEL就很头痛,要写各种特性
WebFirst管理和配置功能介绍
方案管理
方案是生成的一些配置比如用哪个模版、生成路径、文件名、命名空间等配转走
内置自带的方案可供学习
模版管理
模版是方案的一个属性,创建方案必须选择模版,在WebFirst中我们使用的是Razor模版引擎,功能非常强大,带有智能提示
WebFirst专门提供了一个模版编写的小程序让你有智能提示的 点点点,把模版轻松写出来
特色功能
1、在线版CodeFirst
比手动建实体生成表速度更快,只需界面操作选择C#类型(类型可以自定义配置)就能把100个字段的表在几分钟建出来,并且生成表,这种效率手写类根本做不到
2. 快速生成文档
生成的excel文档,比一般的软件生成出来的可能更友好点吧,虽然功能比较一般不过,作为代码生成器+快速开发还是不错的功能
3、支持数据源建类
有的时候可能需要,通过算法或者写个SQL把实体建出来
4、支持生成的时候追加复加文件
比如我们要生成项目文件,仓储 ,或者JSON文件等
5、自定义实体属性配置
这个功能就比较强大了,比如我要给字段设置数据源,控件类型,这样就需要自定义扩展配配置,并且让他们在模版中可以使用这些自定义的特性
6、自带方案用例
可以先用自带的用方案生成出来看看效率,然后改改路径、改改模版就能用到自个的项目中了
下载地址
GITHUB https://github.com/donet5/WebFirst 实实在在的干货 幸苦开发2个月,感兴趣的可以GITHUB 点个赞
另外我们的另一个开源作品【SqlSugar】 也更新了联表查询语法
var query5 = db.Queryable<Order>()
.LeftJoin<Custom>((o, cus) => o.CustomId == cus.Id)
.Where(o => o.Id == 1)
.Select((o, cus) => new { o,cus })
.ToList(); //现在的语法可以说是相当美观,并且你用where的时候 可以只写一个 o而不是所有都要加上 (o,cus)
//其它框架基本上要
//db.Queryable<Order,Custom>().LeftJoin<Custom>
//比较下来SqlSugar是不是会更简洁一些呢
要另外SqlSugar将于10月底支持自动化分表功能5年多的沉淀和设计 最简、最好用、最实用,SqlSugar在2021年和2020可以说不是一框架,
以前用过认为不好用或者没用的也可以关注一下,因为2021开发时间可以等于以前几年开发时间,坚持创新 完美
GITHUB: https://github.com/donet5/SqlSugar 也可以关注一下
开源框架 - 新 代码生成器 WebFirst / .NET Core的更多相关文章
- Uwl.Admin.Core开源框架(二) 使用QuartzNet
Uwl.Admin.Core中使用QuartzNet定时任务模块: 本文负责讲解RabbitMQ的使用 Uwl.Admin.Core使用的技术有: *.Async和Await 异步编程 *.Repos ...
- c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具
c#实例化继承类,必须对被继承类的程序集做引用 0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...
- .net core 基于Dapper 的分库分表开源框架(core-data)
一.前言 感觉很久没写文章了,最近也比较忙,写的相对比较少,抽空分享基于Dapper 的分库分表开源框架core-data的强大功能,更好的提高开发过程中的效率: 在数据库的数据日积月累的积累下,业务 ...
- Uwl.Admin.Core开源框架(三) 使用RabbitMQ
Uwl.Admin.Core中使用RabbitMQ消息队列: 本文负责讲解RabbitMQ的使用 Uwl.Admin.Core使用的技术有: *.Async和Await 异步编程 *.Reposito ...
- 开源干货!!!.NET Core + JWT令牌认证 + Vue.js(iview-admin) 通用动态权限(RBAC)管理系统框架[DncZeus]开源啦!!!
DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"--.Net Core 的缩写: "Zeus"--中文译为宙斯, ...
- Pyhton开源框架(加强版)
info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- plain framework 1 一款主要用于网络(游戏)开发的C/C++开源框架 安装篇 updated
上次介绍了一下plain framework的基础相关资料,今天该框架正式开源发布.项目的地址托管于github上,我相信大多数朋友都应该知道.今天要介绍的是该框架的目录基本结构,以及分别在linux ...
- 初识轻量级Java开源框架 --- Spring
初识轻量级Java开源框架 --- Spring 作者:egg 微博:http://weibo.com/xtfggef 出处:http://blog.csdn.net/zhangerqing spri ...
随机推荐
- 刷题-力扣-113. 路径总和 II
113. 路径总和 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/path-sum-ii 著作权归领扣网络所有.商业转载请联系 ...
- python十行代码实现文件去重,去除重复文件的脚本
导入依赖 '''导入依赖''' from pathlib import Path import filecmp 函数说明 ''' filecmp.cmp(path1, path2, shallow=T ...
- Mysql主从复制、半同步复制、并行复制
MySQL之间数据复制的基础是二进制日志文件(binary log file).一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以"事件"的方 ...
- 常量&&变量
一.常量:程序运行期间不变 常量使用: 二.八大基本数据类型变量: 其中,一个Byte类型数据占八个bit位,所以范围是(-2^7 ~ 2^7-1),数据最小的存储单位,是四分之一的int类型空间,所 ...
- 地址栏url中去掉所有参数
1.地址栏url中去掉所有参数,这个是纯前端解决,很多时候页面跳转时候会选择在url后面带参数过去,(使用?&),方便传也方便取,但是我们要做的是不要让页面的一些请求参数暴露在外面 正常项目工 ...
- ysoserial CommonsColletions3分析(2)
上篇文章讲到CC3的TransformedMap链,这篇我们就来讲一下LazyMap链. 其实LazyMap链还是使用的TemplatesImpl承载payload,InstantiateTransf ...
- ysoserial CommonsColletions3分析(1)
CC3的利用链在JDK8u71版本以后是无法使用的,具体还是由于AnnotationInvocationHandler的readobject进行了改写. 而CC3目前有两条主流的利用链,利用Trans ...
- MySQL(3)-日志
3. InnoDB日志 3.1 InnoDB架构 分为 内存区域架构 buffer pool log buffer 磁盘区域架构 redo log undo log 2.1.1 内存区域架构 1)Bu ...
- Vue组件传值(一)之 父子之间如何传值
Vue中组件之间是如何实现通信的? 1.父传子: 父传子父组件通过属性进行传值,子组件通过 props 进行接受: 1 父组件中: 2 3 <template> 4 <div id= ...
- 【分布式微服务企业快速架构】SpringCloud分布式、微服务、云架构快速开发平台源码
鸿鹄云架构[系统管理平台]是一个大型 企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于 模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术 (Sprin ...