iT邦幫忙

0

.NET 6 WEB API 如何安裝DB First

  • 分享至 

  • xImage
  •  

版本: .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());
        }
    }
}
  1. Program.cs 加入注入
builder.Services.AddDbContext<dbCustomDbSampleContext>();

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

gitHub:https://github.com/RoboMarker/PJUserManage.git


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言