步驟
- 建立專案
- 下載套件
- 資料庫資料
- 執行指令
- 注入連線
建立專案
選擇ASP.NET Core Web應用程式
建立完專案後,F5執行即可看到畫面。
下載套件
使用NuGet下載Microsoft.EntityFrameworkCore.SqlServer
與Microsoft.EntityFrameworkCore.Tools
。
這兩個套件版本必須相同,避免出現版本錯誤的訊息。
資料庫資料
資料庫確認資料庫連線正常,與資料表資料。
以下是連結資料庫MyDB
內資料表OrderList
中的資料。
執行指令
點選上方工具→NuGet套件管理員→套件管理器主控台。
下方顯示套件管理器主控台。
在主控台輸入指令
Scaffold-DbContext -Connection "Server=資料庫伺服器IP;Database=資料庫名稱;Trusted_Connection=True; User ID=資料庫伺服器名稱;Password=資料庫伺服器密碼" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force -Context MyDBContext
Scaffold-DbContext
為Microsoft.EntityFrameworkCore.Tools套件的指令。
-OutputDir
指定要輸出到專案目錄下哪個資料夾,上面為Models資料夾。
-Force
宣告要複寫原有檔案。
-Context
指定DbContext名稱,沒有指定的話預設為Database的名稱。
輸入完指令後,可以看到Models資料夾底下新增了各Table的Model及MyDBContext.cs。
Missing required argument ‘<PROVIDER>’
可以檢查指令空格是否正確,或是重新開啟專案主控台顯示的黃色字是指,為了安全性著想,連線字串不建議放在MyDBContext.OnModelCreating方法中,建議將連線字串放在configuration中,並以相依性注入的方式連線資料庫。
因此,將MyDBContext.OnModelCreating方法內的連線字串加入至appsettings.json中。
在appsettings.json中加入
刪除Models/MyDBContext.cs中OnConfiguring內的程式碼。
在Startup.cs的ConfigureServices方法中加入程式碼,註冊MyDBContext。
注入連線
在Controllers/HomeController.cs中加入程式碼,注入MyDBContext。
建立IActionResult跟View
建立IActionResult跟View,顯示資料庫撈取的資料。
在Controllers/HomeController.cs中加入IActionResult OrderList()。
在View/Home→右鍵→加入→檢視,命名為OrderList。
View程式碼:
在_Layout.cshtml中加入OrderList的連結。
執行畫面
點選上方OrderList連結
從資料表抓出的資料。