.NET 6 WEB API 如何安裝DB First

.NET 6 WEB API 如何安裝DB First

.NET 6 WEB API 如何安裝DB First

 

版本: .net 6

使用:DBFirst

1.新增專案選擇.net 6

檔案>新增專案>ASP.NET Core Web API>下一步>這裡命名為 PJUserManage 然後選擇下一步>.NET 6.0>完成

 

2.新增專案(該專案為Repository用來存放SQL 相關處理)

選擇方案>右鍵>選擇ClassLibarary>命名為UserManageRepository>新增

3.安裝EnityFramework套件

這些套件是用來處理EnityFramework

(1)Microsoft.EntityFrameworkCore.Design

(2)Microsoft.EntityFrameworkCore.SqlServer

(3)Microsoft.EntityFrameworkCore.Tools

安裝套件 

a.選擇工具>NuGet套件管理員>管理方案的NuGet套件

 b.選擇瀏覽輸入 Microsoft.EntityFrameworkCore.Design 專案,接著選擇需要安裝的專案,其中 Microsoft.EntityFrameworkCore.Design需要安裝在主專案,

所以這裡選擇 PJUserManage 版本需與.net framework版本依樣,在這邊因為是.net 6 所以選擇6.X的最高版本而我目前最高版本是6.0.11

c.一樣搜尋Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Tools,版本為6.0.11,安裝專案為UserManageRepository,

因為要將這專案設為資料庫使溝通使用也就是所謂的model所以需安裝在這裡。

 

4.設定DB連線

下方選擇套件管理器主控台>預設專案選擇 UserManageRepository,然後執行以下指令

範例連線參考

Scaffold-DbContext "Server=tttt.ttt.ttt.ttt;Database=CustomDbSample;Trusted_Connection=True;User ID=uuuuuu;Password=xxxxxxx" Microsoft.EntityFrameworkCore.SqlServer -OutputDir ./Models/Data -ContextDir  Context -Context dbCustomDbSampleContext  -Force

上面為DB First的連線方式和自動建立models,

其中

Server為ip,

User ID:使用者

Password:密碼

Microsoft.EntityFrameworkCore.SqlServer:連線的是MSSQL
-OutputDir:要存放Models的路徑

 -ContextDir :輸出的Context存放的位置

-Context:dbContext物件的命名

-Force:如果已經存在Class則會更新

成功後會看到UserManageRepository的Models/Data 資料夾和Context資料夾

 

5.建立Controller

至PJUserManage的Controllers 按右鍵>加入>控制器 >新增並命名為UserManageController

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using UserManageRepository.Context;
using UserManageRepository.Interfaces;
using UserManageRepository.Repository;

namespace PJUserManage.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class UserManageController : ControllerBase
    {
        private readonly dbCustomDbSampleContext _dbCustomDbSampleContext;
        public UserManageController(dbCustomDbSampleContext context, IUserRepositoryEnity users)
        {
            _dbCustomDbSampleContext = context;
        }

        [HttpGet]
        public async Task<IActionResult> GetUser()
        {
            return Ok(await _dbCustomDbSampleContext.Users.ToListAsync());
        }
    }
}

6. Program.cs 加入注入

builder.Services.AddDbContext<dbCustomDbSampleContext>();

 

接著只要執行起來然後輸入https://localhost:XXXX/UserManage 就可以直接取得資料了