.NET
介紹
目前都以.NET6去做開發,有以下特點
- 簡化的開發:非常容易上手。 C# 10中的新語言功能可減少您需要撰寫的程式碼數量。 對 Web 堆疊和最少 API 的投資,可讓您輕鬆快速寫入較小且更快速的微服務。
- 效能較佳:.NET 6 是最快的完整堆疊 Web 架構,如果在雲端中執行,則可降低計算成本。
- 極致生產力:.NET 6 和 Visual Studio 2022 會提供熱重新載入、新 Git 工具、智慧型程式碼編輯、強固診斷和測試工具,及更好的小組共同作業。
講建立專案的部分前,先看過Enity Framework core 與 LinQ
Enity Framework core
是一個ORM框架,可以大幅減少使用SQL語法,且透過強型別取得與操作物件資料
建立連線
private readonly SqlContext _context;
public Test_0612_01Controller(SqlContext context)
{
_context = context;
}
新增資料
_context.表名稱.Add(遇新增的資料);
刪除資料
_context.表名稱.FindAsync(id);
儲存變更
_context.SaveChangesAsync();
搜尋資料
全部資料
_context.表名稱.ToListAsync();
指定資料
_context.表名稱.FindAsync(id);
條件式資料
_context.表名稱.Where(L=>L.條件式);
LinQ(音link)
一種數據查詢語言,被廣泛應用於C#中
對做API來說,常常需要針對不同資料做提取,這邊使用LinQ會方便很多
查詢表名稱內所有資料
from c in _context.表名稱
select c
查詢表名稱符合條件A的資料
from c in _context.表名稱
where 條件A
select c
查詢表名稱內所有資料並由小至大
from c in _context.表名稱
orderby 欄位名
select c
VS2022
下載後,若單純架設網站選擇ASP.NET 與 Node.js(之後寫Vue會用到)
若需要維護Winform 或是WPF 則選擇.NET桌面開發
若需要快速建立,則直接使用我提供的DEMO去做開發
ASPNET
建立新專案
選擇版本 (這邊以.NET6做教學 目前最新的.NET8)
啟動
安裝套件包(NuGet)
設定資料庫連線
於appsettings.json 中加入
//連接MYSQL
"ConnectionStrings": {
"tarefasConnection": "server=140.125.21.65;port=3307;uid=VIP125;pwd=@VIPvip125;database=VIP125"
}
於Program.cs中加入設定
builder.Services.AddDbContext<SqlContext>(opt =>
{
string connectionString = builder.Configuration.GetConnectionString("tarefasConnection");
var serverVersion = ServerVersion.AutoDetect(connectionString);
opt.UseMySql(connectionString, serverVersion);
});
建立與資料庫table的連線
創建Model
建議將創建的Model名稱第一個字大寫,資料庫內部資料表名用小寫,這樣較好對比
Model內容需要跟資料表的欄位名稱相對應
創建Services
Haskey指的是不會重複的
像是身份證字號這種的就不會重複
創建控制器
創建出來的頁面
WEBAPI
建立新專案
基本上都與ASPNET相同,就這部分要注意
連接資料庫的方式都與ASPNET一樣,這邊只是將ASPNET中的MVC去除View去更專注在後端,這邊建立控制器的方式也有點不同
其餘的就好好看先前提到的ORM框架與LINQ,去構建出API即可
運行之後: