一、什么是反向工程
1.原则:DBFirst
2.反向工程:根据数据库表来反向生成实体类
3.生成命令:Scaffold-DbContext ‘连接字符串’
字符串示例:
Server=.;Database=Demo1;Trusted_Connection=true; MultipleActiveResultSets =true;TrustServerCertificate=true
二、使用程序包管理控制台生成实体
1.首先打开程序包管理器控制台,运行命令
Scaffold-DbContext "Server=.\;Database=Tourism;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer
按下回车运行,就会在项目下自动生成实体类以及对应的DbContext数据库上下文,所有的关于每一个实体的配置都在DbContext中,不存在单独的Config类:
注意,上面给出了一个警告:不要把连接字符串放在源代码中而要放在配置中。
三、EFCore可视化构建工具-EFCore Power Tools
1.单击【菜单】|【扩展】|【管理扩展】,如图:
2.在弹出的对话框中输入“EF Core Power Tools”,如图:
3.下载第一个扩展即可
4.安装完毕后关闭并重启Visiual Studio,使得修改生效
5.右键单击项目,在弹出的对话框中选择【EF Core工具】|【反向工程】,如图:
6.单击【反向工程】,在弹出的对话框中选定目标数据库,一路下一步即可,详细配置同EF。
例如,插入操作的代码如下所示:
注意:生成的实体类可能不能满足项目的要求,可能需要手工增加或修改配置
再次运行反向工程工具,所有更改都将会丢失
小型项目不建议DBFirst,不利于逐步演进数据库
大型项目一般使用DbFirst