Logo

.net 6 web api & mysql 8

photo

2025年01月10日

事前準備

  1. 安裝 VS code, dbeaver, docker desktop
  2. 安裝 .net 6 sdk & run time
  3. docker 安裝 mysql & 建立一個 table ex: Books
    參考資料: https://ithelp.ithome.com.tw/articles/10272193

4. 安裝 dotnet tool

# dotnet ef
dotnet 工具安裝 --global dotnet-ef
dotnet 工具更新 --global dotnet-ef

# dotnet-aspnet-codegenerator
dotnet 工具安裝-g dotnet-aspnet-codegenerator
dotnet 工具更新-g dotnet-aspnet-codegenerator

dotnet 工具列表-g # 查看包(全城)

開始建立專案

  • 建專案的目錄:~/Projects
  • 專案名稱:BookApi
  • 連線字串:”server=localhost;Port=3306;Database=Joe;User=DevAuth;Password=Dev127336;”
# 切到專案目錄
cd ~/Projects

# 建立解決方案
dotnet new sln -o BookApi
cd BookApi

# 建立資料夾
mkdir BookApi
cd BookApi

# 建立 web api -f || --framework
dotnet new webapi -f net6.0

# ef core
dotnet add package Microsoft.EntityFrameworkCore

# mysql provider
dotnet add package Pomelo.EntityFrameworkCore.MySql

# dotnet-ef cli 的依賴
dotnet add package Microsoft.EntityFrameworkCore.Design

# dotnet-aspnet-codegenerator cli 的依賴
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design -v 6.0 # 最新版我的環境裝不過 所以裝v6

# dbcontext scaffold -o 產生的包裝的目錄 -c dbcontext -f 強制
dotnet ef dbcontext scaffold "server=localhost;Port=3306;Database=Joe; User=DevAuth;Password=Dev127336;" "Pomelo.EntityFrameworkCore.MySql" -o ./Models -c DataContext -f

# 產生 controller
dotnet aspnet-codegenerator controller --controllerName BookController -async -api -actions -m Book -dc DataContext -outDir Controllers -f
dotnet sln add Bookapi # 跑好之後 可以順便把專案 加入到解決方案裡面 
cat BookApi.sln # 看一下 可以看到我們的 BookApi 專案
# 切到專案內
cd BookApi

# git
git init
dotnet new gitignore
git add .
git commit -m 'first commit'

# vs code 開啟
code .

先把用不到的檔案刪掉

rm WeatherForecast.cs 
rm WeatherForecastController
rm -r Data # Dbcontext 我們在 Models目錄底下 dotnet ef dbcontext scaffold 已經有幫我們產生好了

接下來 還有一些調整

Models/DataContext.cs

  • override OnCofiguring 設定連線資訊
  • _configuration.GetConnectionString 可以拿到 appsetting 設定檔
  • override OnModelCreating 會對應資料庫設定

appsetting.json 設定檔

Program.cs

sql server 連線設定是 code generator 預設幫我們設定的 我們可以把 DbContextOptionsBuilder這段刪掉 然後要 using BookApi.Models;

Controllers/BookController.cs

這裡出現了很多報錯 是因為 dbset 沒有跟我們dbcontext 對應上加上s就好了

dotnet build # 建置
dotnet run # 運行

在 swagger/index.html 目錄下 就會有預設的 swagger 可以測試api 囉!

.net 6幫我設定好 swagger 真的很方便,就不用再自己開 postman 打 api

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

留言板

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

nacos安装说明 2025年01月09日

1:安装安装参考官网.2:问题解决Linux安装nacos启动报错解决:which:no...nacos安装说明

热门文章

无法握住的故土 在我们心灵最温暖的角落,总有一寸土地是属于故乡的。虽然我们看似已远离故土,可骨子里对故乡的依恋却是从未冷却过。我们无论漂泊他乡,还是在繁华都市平步青云,可故乡的悠悠情思总会潜入梦乡与你缠绵。是儿时那一缕缕茉莉的清香萦绕在梦境,也是邻家那已锈迹斑斑的铁壶里,开出艳丽的花儿在梦的边缘摇曳。故土就这样根深蒂固地在我们的灵魂深处烙下深深的印记。 作者:Pastore Antonio
1596 浏览量
EWS(Exchange Service)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 最近公司要求和exchange服务对接,所以稍微研究了一下官方文档,做出以下总结,欢迎大家补充。先...EWS(ExchangeService)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 作者:Pastore Antonio
1585 浏览量
Sql Server 部署SSIS包完成远程数据传输 本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。**温馨提示:如需转载本文,请注明...SqlServer部署SSIS包完成远程数据传输 作者:Pastore Antonio
1580 浏览量
SQL Server AG集群启动不起来的临时自救大招 背景前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群...SQLServerAG集群启动不起来的临时自救大招 作者:Pastore Antonio
1573 浏览量
windows 下安装 memcahce 官网上并未提供Memcached的Windows平台安装包,我们可以使用以下链接来下载,你需...windows下安装memcahce 作者:Pastore Antonio
1567 浏览量