iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

30天開啟.NET後端工程師的旅程系列 第 18

Day18 使用.NET Core 建立簡單的CRUD (part 2 資料庫建立完成)

  • 分享至 

  • xImage
  •  

前言

Day 17先了解ORM技術後再來要準備連接到資料庫。

關於SSMS使用的部分可以在網路上找到不少教學使用,都可以先了解後再繼續跟著看下去喔~


先在資料庫建立了一個新的資料庫

CREATE DATABASE IronThirty;

在資料庫安全性的地方,登入 ⇒ 新增登入 ⇒ 輸入登入名稱跟密碼(要記得自己設定甚麼喔~)
https://ithelp.ithome.com.tw/upload/images/20230930/20151470lVOcdvkCAA.png
https://ithelp.ithome.com.tw/upload/images/20230930/20151470yINKywCmZ9.png
好了之後看到上圖左側的使用者對應,點進去,點選剛剛新增的資料庫名稱以後,選擇db_owner(擁有最大權限的)
https://ithelp.ithome.com.tw/upload/images/20230930/20151470aWFMaQ5q2i.png

設置資料庫上下文

資料庫上下文是一個用於協調資料庫操作的主要類。它負責跟蹤數據模型的更改、執行資料庫操作,以及維護資料庫連接。

首先想要連到資料庫需要有連線字串使用,要知道連接到哪一個資料庫,登入的名稱密碼是甚麼,所以先到appsetting.json這裡面加上連線字串。
https://ithelp.ithome.com.tw/upload/images/20230930/201514709aXdrwIWEz.png
ConnectionStrings裡面是我們要命名的名稱,後面是資料來源,"."一個點表示是本地的意思,Initial Catalog 後面放資料庫名稱,User ID跟Password就不用說,是上面建立好的登入名稱跟密碼。

"ConnectionStrings": {
    "ironDay": "Data Source=.;Initial Catalog=IronThirty;Persist Security Info=True;User ID=iron30;Password=iron30;MultipleActiveResultSets=true;TrustServerCertificate=true"
  },

上面建立好正確的連線字串以後,創建一個簡單的資料庫上下文類:

using Microsoft.EntityFrameworkCore;

public class BlogDbContext : DbContext
	{	
		public BlogDbContext(DbContextOptions<BlogDbContext> options) : base(options)
		{
		}
		public DbSet<Article> Articles { get; set; }

		protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
		{
			if (!optionsBuilder.IsConfigured)
			{
				var config = new ConfigurationBuilder()
					.SetBasePath(Directory.GetCurrentDirectory())
					.AddJsonFile("appsettings.json")
					.Build();

				optionsBuilder.UseSqlServer(config.GetConnectionString("ironDay"));
			}
		}
	}

上面創建了一個名為“BlogDbContext”的數據庫上下文類。我們使用**DbSet屬性定義了一個Article類型的屬性,這將允許我們對“文章”數據表進行操作。在OnConfiguring**方法中,我們指定了用於連接數據庫的連接字符串。使用“ironDay”替換為你的實際連接字符串。

這裡類別建立好了以後,要到Program.cs裡面加上這段,在DI容器裡面注入BlogContext的類別

builder.Services.AddDbContext<BlogDbContext>(Options => {
	Options.UseSqlServer(builder.Configuration.GetConnectionString("ironDay"));
});

執行資料庫遷移 Migration

一旦我們定義了資料模型和資料庫上下文,我們需要創建資料庫或更新現有的資料庫以匹配我們的模型。這個過程稱為資料庫遷移。我們可以使用Entity Framework Core的遷移工具來執行這些操作。

首先,打開套件管理器控制台。在Visual Studio中,你可以在“工具”>“NuGet套件管理器”>“套件管理器控制台”中找到它。然後運行以下命令:

Add-Migration InitialCreate

https://ithelp.ithome.com.tw/upload/images/20230930/20151470UbB1SEBYfK.png
這個命令將為我們的模型創建一個遷移。然後運行以下命令來應用遷移並創建數據庫:

Update-Database

如果沒有安裝Entity Framework Core Tool的話就可能會出現下圖錯誤(當然還是有可能會遇到其他的錯誤訊息,但這條路上就是不斷的debug解決問題的呀~~)。
https://ithelp.ithome.com.tw/upload/images/20230930/201514706j96xxclQB.png


第18天挑戰完成~


上一篇
Day17 使用.NET Core 建立簡單的CRUD (part 1)
下一篇
Day19 使用.NET Core 建立簡單的CRUD (part 3 增加View & 資料增刪查改)
系列文
30天開啟.NET後端工程師的旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言