使用 EFCore 的時候沒有看有地方可以像 .NET Framework 可以直接使用 VS 新增 edmx 產生好資料庫的 Model 與 DbContext,這個時候就必須靠自己拉,不過當 Table 多的時候這樣人工慢慢新增 Model 有點智障,於是乎就上網找到了 EFCore Tool 有提供一段命令可以使用。
網址:https://docs.microsoft.com/zh-tw/ef/core/miscellaneous/cli/powershell
這裡就來簡單做個筆記
- 首先在
Package Manager Console
輸入指令安裝 EFCore Tool
Install-Package Microsoft.EntityFrameworkCore.Tools
-
若為 Win7 需要先裝
Windows Management Framework 3.0
否則會跟我一樣出現下面的錯誤
-
檔案可以在 這裡 找到下載安裝並重開機。
-
產生 Model 前需注意一件事情就是密碼不能有
$
符號,不然會跟我一樣鬼打牆一小時都找不到問題,我有嘗試使用單引號包起來,但依然無法成功連線 -
接著在
Package Manager Console
輸入指令 (適用於 Azure SQL DataBase)
Scaffold-DbContext "Server={ip};Initial Catalog={dbName};Persist Security Info=False;User ID={Account};Password={Password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir {Path}
- 接著就可以看到 VS 裡面跑出 DbModel 與 DbContext 囉 !!