9.2、逆向工程(Database First)
在传统的应用开发中,通常是DBA先行,也就是先创建数据库再构建模型。
关于正向工程和逆向工程
EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步。至于我们应该选用哪个方法,请确定你是希望以 EF Core 模型为准还是以数据库为准。
如果希望以 EF Core 模型为准,请使用正向工程(Code First)。 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与 EF Core 模型兼容。
如果希望以数据库架构为准,请使用逆向工程(Database First)。 使用此方法,可通过将数据库架构反向工程到 EF Core 模型来生成相应的 DbContext 和实体类型。
入门指南
第一步
在数据库管理工具中(如:SQLServer)中创建 Hoa
数据库,并执行以下 Sql 语句:
第二步
1) 在 Visual Studio 2019
中打开 程序包管理控制台
(工具 -> Nuget 包管理器 -> 程序包管理控制台)
2) 在 程序包管理控制台
中,切换 默认项目 为 Hoa.Core
3)输入以下命令:
4)选择数据库连接字符串
5)选择你要生成的表或视图(支持多选)
6)选择保存的目录
7)开始生成
8)命令执行完成后,点击确定
9)删除 Hoa.Core
层的 HoaDbContext
链接文件!
逆向工程脚本
基础命令
参数配置说明
-Schemas
: 字符串数组类型, 数据库Schema
, 选填, 多个表用英文逗号隔开,注意:如果指定了这个参数,就会覆盖-Table参数,生成这个Schemas中所有的表,所以通常我们不需要指定!!!!-Context
:在多数据库上下文时,需要指定完整的DbConext
路径,也就是包含命名空间。默认是:Hoa.EntityFrameworkCore.HoaDbContext
更多逆向工程可查看官方文档。
最后更新于