数据库工具,根据表结构文档生成创建表sql,根据数据库表信息导出Model和表结构文档,根据文档生成数据库表,根据已有Model文件生成创建数据库表sql
一个支持 DbFirst、ModelFirst 和 CodeFirst 的数据库工具。
这是一个针对 SqlServer
和 C#
的数据库的小工具,可以利用这个小工具生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数据类型,如
int? , DateTime? ,如果数据库中有列描述信息,也会生成在属性名称上添加列描述的注释,支持导出多个表;可以导出到Excel,可以根据Excel字段文档生成Sql,数据库表误删除又没有备份的时候就很有帮助了,而且支持反向的根据生成的Model去生成创建数据库表的Sql。
注:暂时不支持索引及外键等需要关联另外一张表的数据关系
DbFirst
导出数据库表到Model
Model 设置选项说明:
- model的命名空间:生成的 model 所在的命名空间,默认为 Models,不可为空,为空则使用默认值Models
- model前缀:表名的基础上加的前缀,默认为空
- model后缀:表名的基础上加的后缀,默认为空
- 生成私有字段,默认为
false
,如果为false
则使用自动属性的代码风格,反之,使用传统get;set;
风格代码,如:- 全局引用,启用 Global using 和 Implicit Using 特性,默认使用 .NET SDK 包含的引用集合
- 可空引用类型,启用可空引用类型,如果数据库列可以为空的字符串,则对应属性会是可为空的字符串
string?
- 文件范围命名空间,启用文件范围命名空间,如:
namespace Models;
public int Id { get; set; } //自动属性风格代码 private int id1; public int Id1 { get{ return id1; } set { id1 = value; } } //传统get;set风格代码
- 生成 Table/Column/Key 信息,生成 DataAnnotation Attribute,默认值为
true
,如果为true
则会在属性字段上生成一个[Description]
的Attribute,如果为false则不生成,效果如下:/// <summary>用户名</summary> [Description("用户名")] public string UserName { get;set; }
- 生成 Model 名称的规则说明:生成的Model的名称由前缀和表名称及后缀拼接而成,如果表名以
tab
或tab_
或tbl
或tbl_
这些开头,则会先把这些移除掉再拼接,可以通过自定义插件扩展
导出数据库表到Excel
ModelFirst
CodeFirst
Description
Attribute 中获取Settings
如果你遇到了什么问题,欢迎联系我 [email protected]
或者在这里提出问题