一个支持DbFirst、ModelFirst和CodeFirst的数据库小工具DbTool
DbTool
一个支持DbFirst、ModelFirst和CodeFirst的数据库工具。
简介
这是一个针对 SqlServer 数据库和 C# 开发语言的小工具,可以利用这个小工具生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数据类型,如int? 、DateTime? ,如果数据库中有列描述信息,也会生成在属性名称上添加列描述的注释,支持导出多个表;可以导出到Excel,可以根据Excel字段文档生成Sql,数据库表误删除又没有备份的时候就很有帮助了,而且支持反向的根据生成的Model去生成创建数据库表的Sql。
注:暂时不支持索引及外键等需要关联另外一张表的数据关系
为什么使用它
- [x] 根据表字段信息生成创建表 Sql(Model First)
- [x] 导入 Excel 文件生成创建表的 Sql(Model First)
- [x] 根据数据库表信息生成数据库表 Excel 文档(Db First)
- [x] 根据数据库表信息生成 Model 文件,支持数据列可空导出为可空数据类型/支持导出列描述信息(Db First)
- [x] 根据 Model 生成 sql 语句(Code First)
- [x] 支持一次导出多张数据表/支持一次选择多个 Model 文件(Code First)
- [ ] 配置化,使用配置文件保存配置以免每次都要设置参数及选项等
- [ ] 迁移到 UWP,直接从 Win10 应用商店下载
- [ ] 插件式自定义扩展Model信息
- [ ] 支持 MySql
功能一览

DbFirst

ModelFirst

CodeFirst
使用说明
DbFirst
1、导出数据库表到Model
1)设置数据库连接字符串,并连接数据库;
2)设置导出 Model 选项;
3)选择要导出 Model 的数据库表;
4)导出 Model;
Model 设置选项说明:
model的命名空间:生成的 model 所在的命名空间,默认为 Models,不可为空,为空则使用默认值Models
model前缀:表名的基础上加的前缀,默认为空
model后缀:表名的基础上加的后缀,默认为Model,可以为空
生成私有字段,默认为
false,如果为false则使用自动属性的代码风格,反之,使用传统get;set;风格代码,如:public int Id { get; set; } //自动属性风格代码
private int id1;
public int Id1 { get{ return id1; } set { id1 = value; } } //传统get;set风格代码生成 Description Attribute,默认值为
true,如果为true则会在属性字段上生成一个[Description]的Attribute,如果为false则不生成,效果如下:/// <summary>用户名</summary> [Description("用户名")]
public string UserName { get;set; }生成 Model 名称的规则说明:生成的Model的名称由前缀和表名称及后缀拼接而成,如果表名以
tab或tab_或tbl或tbl_这些开头,则会先把这些移除掉再拼接。
2、导出数据库表到Excel
1)设置数据库连接字符串,并连接数据库;
2)选择要导出到 Excel 的数据库表;
3)导出到 Excel;
ModelFirst
可以手动填写信息或者先填写 Excel 再进行导入操作;
只生成Sql语句,不会自动在数据库里创建表,根据生成的 Sql 语句再创建表;
CodeFirst
根据已有的Model生成创建表的Sql ,字段注释会从属性的Description的Attribute中获取;
根据需要设置是否生成数据库描述Sql;
左侧生成表字段信息,右侧生成创建表的sql,生成的Sql仅供参考,请自行根据需要调整数据类型以及字段长度;
一个支持DbFirst、ModelFirst和CodeFirst的数据库小工具DbTool的更多相关文章
- 一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具
一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具 Intro DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本 ...
- [apue] 一个查看当前终端标志位设置的小工具
话不多说,先看运行效果: >./term input flag 0x00000500 BRKINT not in ICRNL IGNBRK not in IGNCR not in IGNPAR ...
- 分享一个 Linux 环境下,强力的Python 小工具
场景 Linux 用户,经常需要在终端查看一些数据,从文件里看 或者网络协议获取数据并查看. 比如,查看文件里的json数据:比如,查看etcd里存下的数据. 如果直接看cat 或者 curl 得到的 ...
- [apue] apue_db:一个可以充当"注册表"的 key-value 数据库
apue 最后两章都是通过一个完整的实例来解释一些 linux 功能,第20章就是通过一个数据库实例来解释文件锁的使用, 说实话,当时没兴趣,因为满页都是源码和解析,有点看不下去.但是再拾起来硬着头皮 ...
- InkImageDataSetGenerator-开源一个可用于机器学习的书写轨迹图片生成的小工具
这是一个简单易用的图片数据集生成小工具,基于OpenCV和UWP Ink API,它可以根据指定的手写轨迹生成一系列各个角度的图片.每张图片的尺寸和总体数量都是可以指定的,均存放在统一的生成目录中.h ...
- EF CodeFirst 创建数据库
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 话说EF支持三种模式:Code First M ...
- 6.翻译系列:EF 6 Code-First中数据库初始化策略(EF 6 Code-First系列)
原文链接:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-firs ...
- 将EF项目从dbfirst转化为codefirst
一个脚本服务的项目,之前是先设计的数据库表,采用EF的dbfirst做的映射.项目完成后,出现迁移瓶颈. 1.dbfirst项目,如果数据库表结构做了调整,需要重新映射 2.当出现表结构一致,但数据库 ...
- python 开发一个支持多用户在线的FTP
### 作者介绍:* author:lzl### 博客地址:* http://www.cnblogs.com/lianzhilei/p/5813986.html### 功能实现 作业:开发一个支持多用 ...
随机推荐
- 使用Navicat 创建mysql存储过程,实现日期加流水号序列
目的:使用Navicat 创建mysql存储过程,实现格式为8位日期(年月日)+5位流水号序列. 步骤: 1.打开Navicat 登录数据库,点击导航栏上的函数,如下图: 2.点击新建函数,选择“过程 ...
- Python小白学习之路(五)—【类和对象】【列表】【列表相关功能】
类和对象 (简单的了解一下这个概念,初步有个印象,这个概念很重要,后面会着重讲) 类:具有相同属性和方法的对象的集合: 对象:万物皆对象: 概念很抽象(每当我看不到概念的时候,我就会通过举例来理解) ...
- nginx配置跨域、gzip加速、代理详细讲解
1.配置跨域 这个很简单,直接打开配置nginx.conf ,在http下配置下面三行代码:当然如果你是想某一个虚拟主机下跨域,那就在哪个server下面添加 add_header Access-Co ...
- POJ 1146
#include <iostream> #include <algorithm> #define MAXN 55 using namespace std; char _m[MA ...
- vue-Treeselect 使用备注
<head> <!-- include Vue 2.x --> <script src="https://cdn.jsdelivr.net/npm/vue@@^ ...
- Springboot 打jar包分离lib,配置文件正确方式(二)
Springboot 打jar包分离lib,配置文件正确方式(二) 背景 从<Springboot 打jar包分离lib,配置文件正确方式>中,可以达到把配置文件和依赖第三方的jar包分离 ...
- (转)MySQL优化笔记(八)--锁机制超详细解析(锁分类、事务并发、引擎并发控制)
当一个系统访问量上来的时候,不只是数据库性能瓶颈问题了,数据库数据安全也会浮现,这时候合理使用数据库锁机制就显得异常重要了. 原文:http://www.jianshu.com/p/163c96983 ...
- (转)MySQL登陆后提示符的修改
MySQL登陆后提示符的修改 方法一:mysql命令行修改方式 mysql>prompt \u@night \r:\m:\s-> PROMPT set to '\u@night \r:\m ...
- 第5章—构建Spring Web应用程序—SpringMVC详解
SpringMVC详解 5.1.跟踪Springmvc的请求 SpringMVC的核心流程如下: 具体步骤: 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求 ...
- pycharm 使用jupyter notebook 报错:'_xsrf' argument missing from POST
出问题的关键点就在: 我用cmd启动的jupyter notebook,然后用pycham新建了一个jupyter notebook 结果 一直报错'_xsrf' argument missing f ...