前幾年編寫了 [Swagger] 一些 Swagger 編寫文件的技巧和 Client Code Gen ,不過,已經不適用 ASP.NET Core 6,正好,團隊正在重視 API 文件,正好趁這機會更新 Swashbuckle.AspNetCore 使用
自訂追蹤物件變化再透過 EF Core 存到資料庫
- 723
- 0
- Change Tracking
- 2023-06-09
前面幾篇使用 ChangeTracking 來幫我們追蹤物件狀態,但他必須公開狀態讓外部可以修改,為了解決不被外部隨意修改的問題,可以利用深複製回傳一份不同實例的物件,這樣就可以不被外部影響;操作資料庫仍是使用 EF / EF Core,當然這不受限,你可以挑選妳喜歡的控制方式,接著,來看看怎麼實現它吧。
如何使用 ChangeTracking 追蹤物件變化再透過 EF Core 存到資料庫
- 983
- 0
- Change Tracking
- 2023-06-09
上一篇提到了 ChangeTracking + EFCore.BulkExtensions.BatchUpdate,可以很輕易的幫我們產生出有異動的 Update SQL 語法,如何使用 ChangeTracking 追蹤物件變化再透過 EFCore.BulkExtensions 存到資料庫
很可惜的是 EFCore.BulkExtensions.BatchUpdate 沒有支援異動多張資料表,對於資料庫命令的往返會隨著異動的資料表而增加,這次我想要改使用 EF Core 原生的異動追蹤。
追蹤異動變化使用 ChangeTracking ,消化異動並存放到操作資料庫則使用 EF / EF Core,當然,這不受限,你可以挑選妳喜歡的控制方式,接著,來看看怎麼實現它吧。
如何使用 ChangeTracking 追蹤物件變化再透過 EFCore.BulkExtensions 存到資料庫
- 581
- 0
- Change Tracking
- 2022-03-30
當我們需要異動資料庫某一筆資料的某些欄位,可以通過追蹤機制來記錄那些欄位被改變了,除了自己開發之外,還可以考慮 ChangeTracking,它是一套可以輕易的幫我們追蹤物件、集合的利器,不過,有一點可惜的是他最後一次更新是在 2019

接下來,我想要利用這個追蹤機制幫我完成資料表的部分更新,有異動的欄位才更新。
追蹤異動變化使用 ChangeTracking ,消化異動並存放到操作資料庫則使用 EF / EF Core,當然,這不受限,你可以挑選妳喜歡的控制方式,接著,來看看怎麼實現它吧。
自訂 ConfigurationProvider - 實作 EnvFileConfigurationProvider
- 521
- 0
- Configuration
使用 .env (環境變數) 配置系統,是我們常用的手段之一,他的格式非常的簡單,就 key = value,攤平的結構

讀取 .env 檔也不是甚麼太大的問題,所以我打算將他整合到 IConfiguration
[.NET 6] 通過 MiniProfiler,診斷 ASP.NET Core Web API 效能
- 2233
- 0
- Application Performance Monitor
- 2022-02-20
以往我都使用 dotTrace 診斷 .NET 應用程式的使用狀況,可以得知執行時間、佔用記憶體、SQL Command 等。

但,NET Core 沒有支援 SQL ETW,代表攔截不到有關 SQL 的命令,於是我得尋求其它解方,MiniProfiler 則是這次的調查對象。
EF Core 大量資料處理 for EFCore.BulkExtensions
- 4512
- 0
- Entity Framework Core
- 2022-01-19
以往,大量資料異動我們都知道要使用 Bulk 系列的 API,EFCore.BulkExtensions 除了提供大量資料異動之外,還有查詢後異動、BulkRead(Where In),這裡我將先記錄初步的使用方式,後續有其他心得再補上
使用 Specflow+Allure Test Report 產生活文件/測試報表
- 992
- 0
- Living Document
- 2022-02-20
Allure TestOp 是一套可以將測試結果產生成漂亮的測試報表,支援很多測試框架和 Cucumber/Gherkin 語言,我將專注在 .NET,接著,就來動手實作吧。

.NET Core / .NET Fx 應用程式如何在開發環境使用環境變數
- 1527
- 0
- Configuration
- 2021-12-31
組態設定除了存放在 IO 檔案之外,存放在作業系統的環境變數則是選項之一,NET 提供 System.Envrionment.GetEnvironmentVariable、System.Environment.SetEnvironmentVariable 讓開發人員輕鬆的存取作業系統的環境變數,但是,開發一個應用程式就要動到作業系統的環境變數,還是挺麻煩的;要讓機密性的資料不上版控,還是會需要付出一些額外的成本,這是跑不掉的。
這一篇則是為了要紀錄了幾種在開發環境(VS IDE、Rider)下可以取得環境變數的方式而且不用動到程式碼。
[.NET 6] 如何優雅(Gracefully Shutdown)的關閉 .NET Core Console 應用程式
- 3119
- 0
- Graceful Shutdown
- 2023-08-03
當有一個應用程序被用戶 ( SIGINT /Ctrl+C) 或 Docker ( SIGTERM / docker stop ) 停止時,它需要優雅地關閉一個長時間運行的工作;換句煥說,當應用程式收到關閉訊號的時候,要把工作做完,應用程式才可以關閉。微軟的 Microsoft.Extensions.Hosting 可以幫我們接收/處理關閉訊號,我們只需要告訴它要怎麼做就可以了,我在實作的過程當中,碰到了一些問題,以下是我的心得