一、什么是反向工程
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