2024年9月23日 星期一

簡單介紹 EF Core Power Tools

之前有介紹過 EF Core 的使用,那時大都透過指令方式操作,今天來試試這個套件,使用上

挺方便的,但也是有一些眉角,故紀錄一下...



首先來到頁面下載安裝套件,或是透過 nuget 安裝也可


接著準備實際操作,先建立主控台應用程式,使用 .net 8


建立之後再專案按下滑鼠右鍵,選取 EF Core Power Tools → 反向工程

接著進入設定,選取 EF Core8 (或是 EF Core 7),新增資料庫連線


設定資料庫連線

成功建立後,就會出現剛剛建立的連線選項,此時按下「確定」



其中若沒有連線成功,可能會出現以下錯誤,再重新新增連線即可


若成功建立連線,就會出現選項讓你選擇資料庫下的資料表與預存程序


按下「確定」後,會出現相關設定,以下為預設值,都可以自行更換

  • 內容名稱:會使用你選取的資料庫名稱當作預設,後綴詞為 Context

  • 命名空間:為專案名稱

  • 實體類型路徑(目錄):預設為 Models

後續,我們做一些調整,勾選若干選項


按下「確定」後,專案目錄會長出相關檔案


DbContext.cs 檔案會記錄資料庫連線,但是這邊會 warning 提醒你,若要另外設定連線

字串,可以透過文章中的介紹,透過 Extensions.Configuration.Json 設定


接著我們來試試如何使用,透過 DbContext 物件來存取 Entities



若要純取預存程序也可以如下操作



此時,我們測試資料表 Persons 有異動,新增的欄位 「Status」並且預設值為 1


由於來源有調整故 EF Core 這邊也要相對應的調整,先來看一下 Person Class 內容,

此時內容是沒有 「Status」欄位的


接著來到專案,先建置專案,確認成功後

然後滑鼠右鍵,選取 EF Core Power Tools → 重新整理



同樣會出現剛剛設定過的資料庫連線,點選「確認」,稍微等待一下


會再彈出之前設定過的選單,這邊會自動帶出前一次的選項,直接確定即可


確認後,又會在彈一次選單,這邊要注意也是勾選跟前一次同樣的選項

再次確認後,可能需要等待較長的時間


完成後,檢視 Person 內容,剛剛調整的 Status 欄位出現了


所以未來若有相關異動都可以透過「重新整理」的方式更新相關物件



以上



參考



沒有留言:

張貼留言