📚
Hoa Framework
  • 一、框架指南
  • 二、功能特性
  • 三、源码结构
  • 四、代码规范
  • 五、入门指南
  • 六、依赖注入/控制反转
  • 七、控制器和服务
  • 八、对象映射指南
  • 九、数据库操作指南
    • 9.1、正向工程(Code First)
    • 9.2、逆向工程(Database First)
    • 9.3、关于仓储(IRepository)
    • 9.4、增删改操作
    • 9.5、查询操作
    • 9.6、DataSet、DataTable 操作
    • 9.7、查询结果集映射
    • 9.8、批量增删改操作
    • 9.9、存储过程、视图、函数操作
    • 9.10、工作单元和事务
    • 9.11、多上下文、读写分离
    • 9.12、切面上下文(TangentDbContext)
    • 9.13、其他操作
    • 9.14、EF Core 高性能
    • 9.15、常见错误
  • 十、开放接口指南
    • 10.1、RESTFul 和 Swagger
    • 10.2、规范化返回值
  • 十一、数据校验
  • 十二、安全授权
  • 十三、异常处理
  • 十四、日志管理
  • 十五、配置管理
  • 十六、缓存管理
  • 十七、内置工具类
    • 17.1、数据加解密
  • 十八、跨域处理
  • 十九、筛选拦截器(未)
  • 二十、进程服务(Daemon)
  • 二十一、编写测试
    • 20.1、单元测试
    • 20.2、基准测试
    • 20.3、性能测试
  • 二十二、托管部署
    • 22.1、IIS 托管部署
    • 22.2、Nginx 托管部署
    • 22.3、Docker 容器部署
  • 二十三、性能分析(MiniProfiler)
  • 二十四、其他功能
    • 23.1、第三方包管理
    • 23.2、文件上传下载
    • 23.3、Razor 视图引擎
    • 23.4、生成客户端请求代码
    • 23.5、快捷操作
  • 二十五、Docker 容器化
    • 25.1、Docker 介绍
    • 25.2、Docker 安装
    • 25.3、Docker 安装服务
    • 25.4、Docker 常用命令
    • 25.6、Docker run 常用命令
    • 25.7、Docker-Compose 介绍
    • 25.8、docker-compose.yml
    • 25.9、Docker-Compose 常用命令
    • 25.10、Docker-Compose 转换 docker run
    • 25.11、Docker 构建自己的镜像
    • 25.12、Dockerfile指南
    • 25.13、Dockerfile 常用命令
    • 25.14、Dockerfile 打包、上传、分享
    • 25.15、Docker 数据卷
    • 25.16、Docker 域网络
    • 25.17、Docker + Nginx 实现分布式集群、负载均衡
  • 二十六、DevOps 持续部署集成
    • 26.1、DevOps 介绍
    • 26.2、持续集成、交付、部署
    • 26.3、Jenkins 介绍
    • 26.4、Jenkins 安装
    • 26.5、Jenkins 初始化
    • 26.6、Jenkins 实战演练
    • 26.7、Jenkis 项目配置
    • 26.8、Jenkins 插件
  • 二十七、OpenXml/Excel 操作
  • 二十八、SaaS 多租户
  • 二十九、Git 代码管理
    • 29.1、Git 介绍
    • 29.2、Git 安装
    • 29.3、Git 基础配置
    • 29.4、Git 工作流程
    • 29.5、Git 重要概念
    • 29.6、Git 创建仓库
    • 29.7、Git 基本操作
    • 29.8、Git 分支管理
    • 29.9、Git 查看提交历史
    • 29.10、Git 标签
    • 29.11、Git 拉取/获取/推送
    • 28.12、Git GUI工具
    • 29.13、Git 私有化部署
    • 29.14、Git 推荐开发模式
    • 29.15、Svn 转 Git
  • 贡献代码
  • 更新日志
由 GitBook 提供支持
在本页
  • 关于正向工程和逆向工程
  • 入门指南
  • 第一步
  • 第二步
  • 逆向工程脚本
  • 基础命令
  • 参数配置说明

这有帮助吗?

  1. 九、数据库操作指南

9.2、逆向工程(Database First)

在传统的应用开发中,通常是DBA先行,也就是先创建数据库再构建模型。

上一页9.1、正向工程(Code First)下一页9.3、关于仓储(IRepository)

最后更新于4年前

这有帮助吗?

关于正向工程和逆向工程

EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步。至于我们应该选用哪个方法,请确定你是希望以 EF Core 模型为准还是以数据库为准。

如果希望以 EF Core 模型为准,请使用。 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与 EF Core 模型兼容。

如果希望以数据库架构为准,请使用。 使用此方法,可通过将数据库架构反向工程到 EF Core 模型来生成相应的 DbContext 和实体类型。

入门指南

第一步

在数据库管理工具中(如:SQLServer)中创建 Hoa 数据库,并执行以下 Sql 语句:

CREATE TABLE Test(
    [Id] INT NOT NULL PRIMARY KEY,
    [Name] NVARCHAR(32) NOT NULL,
    [CreatedTime] DATETIME NOT NULL
)

第二步

1) 在 Visual Studio 2019 中打开 程序包管理控制台 (工具 -> Nuget 包管理器 -> 程序包管理控制台)

2) 在 程序包管理控制台 中,切换 默认项目 为 Hoa.Core

3)输入以下命令:

PM> & "Hoa.EntityFrameworkCore\db_to_entities.ps1"

4)选择数据库连接字符串

5)选择你要生成的表或视图(支持多选)

6)选择保存的目录

7)开始生成

Hoa Db First 生成器 v2.0.0 
==============================
正在检查默认项目设置......
默认项目设置正确
开始将数据库表生成对应的模型......
正在备份原来的HoaDbContext.cs
备份成功
==============================
当前备份文件路径为:./Hoa.EntityFrameworkCore/DbContextBakFiles/HoaDbContext.cs.20200520183915
注意!!!请将该备件文件内容和现有的 HoaDbContext 内容进行合并
==============================
==============================
生成模型的表有: Test
==============================
模型类文件保存路径为: Hoa.Core/Test/Entities/
==============================
Build started...
Build succeeded.
Unable to find a table in the database matching the selected table Test.
开始替换默认命名空间......
开始删除无用代码......
生成成功
PM> 

8)命令执行完成后,点击确定

9)删除 Hoa.Core 层的 HoaDbContext 链接文件!

逆向工程脚本

基础命令

& "Hoa.EntityFrameworkCore\db_to_entities.ps1"

参数配置说明

  • -Schemas: 字符串数组类型, 数据库 Schema, 选填, 多个表用英文逗号隔开,注意:如果指定了这个参数,就会覆盖-Table参数,生成这个Schemas中所有的表,所以通常我们不需要指定!!!!

  • -Context:在多数据库上下文时,需要指定完整的 DbConext 路径,也就是包含命名空间。默认是:Hoa.EntityFrameworkCore.HoaDbContext

更多逆向工程。

正向工程(Code First)
逆向工程(Database First)
可查看官方文档