版本: .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());
}
}
}
builder.Services.AddDbContext<dbCustomDbSampleContext>();
接著只要執行起來然後輸入https://localhost:XXXX/UserManage 就可以直接取得資料了
gitHub:https://github.com/RoboMarker/PJUserManage.git