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

ASP.NET Core MVC 入門教學

今天這篇先簡單講解一下,該如何從資料庫中取出資料到我們網站這邊

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

接著我們回到vs中,打開Program.cs,加入以下的程式碼

這是一個DI注入資料庫物件的寫法,至於DI注入是什麼,後面會教

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

這段程式碼必須放在var builder = WebApplication.CreateBuilder(args);之後

其中AddDbContext<KcgContext>裡的KcgContext是要放你資料庫物件的名稱

builder.Configuration.GetConnectionString("KcgContext")則是放連線字串

這邊的這個寫法是說到appsettings.json中,抓KcgContext的內容

所以我們要在appsettings.json,寫好以下資訊

{
  "ConnectionStrings": {
    "KcgContext": "Data Source=127.0.0.1;Database=Kcg;Trusted_Connection=True;TrustServerCertificate=True;User ID=Kcg;Password=123456"
  }
}

上面的就依自己實際情況改成你自己要的名稱,跟資料庫連線字串的內容

這邊如果設定完了,就可以把當初Code First那篇,先暫時擺在KcgContext.cs裡的連線字串拿掉了,並且要再加上另一個建構子,如下面

//加上這個
public KcgContext(DbContextOptions<KcgContext> options)
: base(options)
{
}

//這邊可以拿掉
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer("Data Source=127.0.0.1;Database=Kcg;Trusted_Connection=True;TrustServerCertificate=True;User ID=Kcg;Password=123456");
}

這樣相關Code First指令都可以正常運作

接著我們就要開始讀取我們剛剛新增的那筆資料過來

先到HomeController.cs中寫下以下程式

private readonly ILogger<HomeController> _logger;
private readonly KcgContext _kcgContext;

public HomeController(ILogger<HomeController> logger, KcgContext kcgContext)
{
    _logger = logger;
    _kcgContext = kcgContext;
}

這就是一個DI注入在Controller裡取得物件的寫法

如此我們就取到了資料庫的連線物件

接著我們將Index()改造一下,下面程式的意思是說,從TOPMenu中撈取第一筆資料的Name欄位

最後return至結果,至於為什麼會放那麼多問號,下一篇文章會說明

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

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

按下啟動不偵錯查看結果

可以看到網頁上就有"取資料"三個字被我們從資料庫撈出來了

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

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




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