一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

栏目: IT技术 · 发布时间: 6年前

内容简介:DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本是基于 dotnet framework WinForm 实现的,在 1.1.0 版本更新中使用 dotnet core 3.1 基于 WPF 重写了,并实现了一个简单的基于插件模式开发模式并引入了多语言的基础支持。数据库当前支持 SqlServer 和 MySql,可以自己扩展其他类型数据库。可以利用这个小工具生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

Intro

DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本是基于 dotnet framework WinForm 实现的,在 1.1.0 版本更新中使用 dotnet core 3.1 基于 WPF 重写了,并实现了一个简单的基于插件模式开发模式并引入了多语言的基础支持。

数据库当前支持 SqlServer 和 MySql,可以自己扩展其他类型数据库。

可以利用这个小 工具 生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数据类型,如 int? , DateTime? ,如果数据库中有列描述信息,也会生成在属性名称上添加列描述的注释,支持导出多个表;可以导出到Excel,可以根据Excel字段文档生成Sql,数据库表误删除又没有备份的时候就很有帮助了,而且支持反向的根据生成的Model去生成创建数据库表的Sql(供参考)。

基本功能

功能一览

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

功能说明

  1. DbFirst

    1. 导出数据库表到Model

      1. 设置数据库连接字符串,并连接数据库
      2. 设置导出 Model 选项
      3. 选择要导出 Model 的数据库表
      4. 导出 Model
    Model 设置选项说明:
    • model的命名空间:生成的 model 所在的命名空间,默认为 Models,不可为空,为空则使用默认值Models
    • model前缀:表名的基础上加的前缀,默认为空
    • model后缀:表名的基础上加的后缀,默认为空
    • 生成私有字段,默认为 false ,如果为 false 则使用自动属性的代码风格,反之,使用传统 get;set; 风格代码,如:

      ``` csharp

      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的名称由前缀和表名称及后缀拼接而成,如果表名以 tabtab_tbltbl_ 这些开头,则会先把这些移除掉再拼接,可以通过自定义插件扩展

    1. 导出数据库表到Excel

      1. 设置数据库连接字符串,并连接数据库
      2. 选择要导出到 Excel 的数据库表
      3. 导出到 Excel
  2. ModelFirst

    1. 可以手动填写信息或者先选择 Excel 导入
    2. 只生成 Sql 语句,不会自动在数据库里创建表,根据生成的 Sql 语句再创建表
  3. CodeFirst

    Description
    
  4. Settings

    1. 修改默认数据库连接字符串
    2. 修改默认数据库类型
    3. 修改默认语言(1.1.0 版本需要重启应用)

插件扩展

Packages

目前的 packages:

DbTool.Core
DbTool.DbProvider.MySql
DbTool.DbProvider.SqlServer

扩展方式

  1. 扩展数据库支持,实现 IDbProvider
  2. 扩展导出方式,实现 IDbDocExporter ,当前支持导出 Excel
  3. 扩展 Model 代码生成方式,实现 IModelCodeGenerator ,根据数据库表信息生成 Model
  4. 扩展 Model 名称表名称转化,实现 IModelNameConverter ,也可以继承 DefaultModelNameConverter ,改写某一个实现

Reference


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

运营其实很简单:互联网运营进阶之道

运营其实很简单:互联网运营进阶之道

郑文博 / 人民邮电出版社 / 2018-2 / 49.80元

为了帮助从事运营或即将从事运营的广大读者更好、更快地了解运营、学习运营、入职运营,本书详细阐述运营对于用户、企业的帮助,同时以单个理论点 单个实战案例的方式详细分析了社群运营、活动运营、新媒体运营、内容运营、渠道运营、精细化运营、场景化运营、用户化运营、商业化运营等模块及运营工作、渠道整合、社群知识、渠道优化、SOP流程等细节,力求让读者在求职路上快速上手,在迷茫途中快速定位。 《运营其实很简单 ......一起来看看 《运营其实很简单:互联网运营进阶之道》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具