2-3.ASP.NET Core MVC 入門教學 - 使用資料庫物件取得資料

ASP.NET Core MVC 入門教學

這節就先簡單講一下,該如何從我們資料庫撈取資料到我們網頁這邊

前兩節我事後有將這篇的內容都補充進去,因為覺得比較完整乾脆一起講

但影片的部分沒有重錄,所以這邊只看影片但沒看文章的人可以參考這篇繼續往下做

那由於我們資料庫中沒有任何資料,所以先在資料表TOPMenu中隨意新增幾筆資料

接著我們將資料庫的連線字串寫在appsettings.json

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "KcgDatabase": "Server=127.0.0.1;Database=Kcg;User ID=Kcg;Password=123456;TrustServerCertificate=true"
  }
}

然後我們在Program.cs中加入資料庫物件的DI注入(這以後會講,這邊先這樣照做)。

builder.Services.AddDbContext<KcgContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("KcgDatabase")));

其中Configuration.GetConnectionString("KcgDatabase")可以從appsettings.json中抓出"WebDatabase:"後面的內容,這部分就是說,請把一些參數的東西寫在appsettings.json裡,然後再用Configuration.GetConnectionString去抓取,而不要直接把連線字串寫死在程式裡,在日後維護或安全的考量上會較為良好。

以上就是資料庫連線的前置作業,接著我們就要來實際測試剛剛的設定到底有沒有成功。

接著到HomeController.cs中寫下以下程式

private readonly KcgContext _kcgContext; //先在全域宣告資料庫物件

public HomeController(KcgContext kcgContext) //這邊是依賴注入使用我們剛設定好的資料庫物件的寫法
{
    _kcgContext = kcgContext;
}

如果之前有寫過C#跟資料庫連線但沒用過依賴注入的人,可能會覺得很特殊,以前使用宣告資料庫可能會是這樣寫的

using (var _kcgContext = new KcgContext())
{

}

但這要自己管理好生命週期,且更有新手可能連using都不會用,因而時不時有人就踩坑讓系統爆炸

現在用的這種叫依賴注入的寫法,由程式自動幫你管理好生命週期,你儘管用不需要擔心會採什麼坑

所以既然都來到的.NET Core時代,就改用依賴注入的寫法吧

為什麼我特別這麼說,因為發現還是很多人都轉來.NET Core了,還是放不下以前的寫法,其實這並沒有很難

最後我們在這邊簡單寫一下回傳TOPMenu資料表的資料,如下

public string Index()
{
    return _kcgContext.TOPMenu.FirstOrDefault().Name;
}

存個檔後,我們就可以取回剛剛我們在資料庫新增的那筆資料的內容

按下啟動不偵錯查看結果

可以看到網頁上就有"任一文字"代表資料被我們從資料庫撈出來了

以上就是從資料庫撈資料的事前設定

跟在Controller中要如何使用資料庫物件撈取資料




Copyright © 凱哥寫程式 2022 | Powered by TalllKai ❤