瀏覽標籤:

DataBase

[.NET Core] EFCore Generate DbModel

使用 EFCore 的時候沒有看有地方可以像 .NET Framework 可以直接使用 VS 新增 edmx 產生好資料庫的 Model 與 DbContext,這個時候就必須靠自己拉,不過當 Table 多的時候這樣人工慢慢新增 Model 有點智障,於是乎就上網找到了 EFCore Tool 有提供一段命令可以使用。

網址:https://docs.microsoft.com/zh-tw/ef/core/miscellaneous/cli/powershell

這裡就來簡單做個筆記

  1. 首先在 Package Manager Console 輸入指令安裝 EFCore Tool
Install-Package Microsoft.EntityFrameworkCore.Tools
  1. 若為 Win7 需要先裝 Windows Management Framework 3.0 否則會跟我一樣出現下面的錯誤
    錯誤畫面

  2. 檔案可以在 這裡 找到下載安裝並重開機。

  3. 產生 Model 前需注意一件事情就是密碼不能有 $ 符號,不然會跟我一樣鬼打牆一小時都找不到問題,我有嘗試使用單引號包起來,但依然無法成功連線

  4. 接著在 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}
  1. 接著就可以看到 VS 裡面跑出 DbModel 與 DbContext 囉 !!