之前有介紹過 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 欄位出現了
所以未來若有相關異動都可以透過「重新整理」的方式更新相關物件
以上
參考
[SQL Server] T-SQL 測試輔助工具或方案 (2) : Visual Studio + Specflow + Entity Framework
https://marcus116.blogspot.com/search/label/Entity Framework Core
沒有留言:
張貼留言