iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
Cloud Native

The Journey of ASP.NET and Beyond系列 第 6

ASP.NET Core Web API: Way to Database

  • 分享至 

  • xImage
  •  

The type of Database decides what we shall obey.

  正式進入Web API,觀其之大,於一天之內逛完,或許是件無法達成之事,欲熟稔此道,則需明瞭萬事起頭難,必須按部就班以紮穩腳步為第一優先,而於Web API中最優先之順序乃是開闢資料庫與Web API連通之道路,故此行第一站乃驛站。

行前準備 Before Going to The Model


  欲前往驛站前,我們必先備齊三器,此三器乃可簡化我們資料庫之流通過程,亦可使驛站之資料格式化為資料庫之格式,如此方便之物,豈能不用?於「管理NuGet套件」處輸入以下文字,方可尋其套件。

  • Microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.SqlServer
  • Microsoft.EntityFrameworkCore.Tools

驛站之法 Model's Method


  到達驛站後,便需進行資料格式之制定,制定之法有千百種,乃選合適之法便可。此處將以冒險者公會之角度進行資料之制定,並流通至資料庫。先於驛站處制定公會基本所需之資料格式,如下:

// 於Models之資料夾設置AdventurerProfile.cs,則會自動產生之,其中AdventurerProfile內容為自行輸入
using System.ComponentModel.DataAnnotations.Schema;

namespace WepAPI.Models
{
  public partial class AdventurerProfile
  {
      [DatabaseGenerated(DatabaseGeneratedOption.Identity)] // 自動生成
      public int Id { get; set; }
      public string Sigil { get; set; }
      public string Name { get; set; }
      public string? Race { get; set; }
      public string? Class { get; set; }
      public string? Dwelling { get; set; }
      public DateTime Created_At { get; set; }
      public DateTime? Updated_At { get; set; }
  }
}

  完成後,再撰寫流通資料庫之行文:

using Microsoft.EntityFrameworkCore;

namespace WepAPI.Models
{
    public class GuildDbContext: DbContext
    {
        public GuildDbContext(DbContextOptions<GuildDbContext> options) 
            : base(options)
        {
        }

        public DbSet<AdventurerProfile> AdventurersProfile { get; set;}

    }
}

  再於appsettings處設定欲流通之資料庫之位址:

  "ConnectionStrings": {
    "Default": "server=(localdb)\\MSSQLLocalDB;database=GuildDatabase;Trusted_Connection=true"
  }

  完事後,再回到入口處註冊其位址:

builder.Services.AddDbContext<GuildContext>(
    option => option.UseSqlServer(builder.Configuration.GetConnectionString("Default")));

  最終,在套件管理器主控台使用Add-Migration InitialCreateUpdate-Database便可完成與資料庫之流通之第一步。

Red tape is always annoying.
https://ithelp.ithome.com.tw/upload/images/20230925/20151244eGCpoiI5Ap.jpg


上一篇
The Way to .NET Core: Web API Overlook
下一篇
ASP.NET Core Web API: RESTful API Inn
系列文
The Journey of ASP.NET and Beyond30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言