MongoDB 近幾年來發展的很穩定,也是我心目中 NoSQL 選擇方案之一,對於 .NET 的開發者而言,開發體驗也算是不錯,在這裡我會簡單的分享怎麼建立 .NET + MongoDB 開發環境以及簡單的 CRUD 操作
Web API 通過 Morcatko.AspNetCore.JsonMergePatch 實現更新部分資源
- 395
- 0
- Json Patch
- 2023-05-11
我曾經在端點使用 Dictionary<string,object> 型別,當調用端傳入 {"name":null} 時,移除 name key;傳入 {"name":"123"} 時,name 得的值等於 "123",這樣便能夠做到類似 Json Path 的功能,參考上篇,在不改變合約的情況之下,這次我想要改用 Morcatko.AspNetCore.JsonMergePatch 來實現更新部分資源並且讓端點的合約變成強型別。
ASP.NET Core 6 Top-level Statements 如何使用 WebApplicationFactory 進行整合測試
- 812
- 0
- Integration Test
C# 9 開始就可以不用在主控台程式包含 main 方法(Top-level statements),在 .NET 6,ASP.NET Core 6 也支援了 Top-level statements 專案範本,已經直接套用此功能,我用 WebApplicationFactory 寫整合測試時,碰到一點小問題,以下是解決問題的經過
[C#] Json Compare/Diff 解決方案
現在的工作大都是使用微軟內建的 Json 序列化套件 System.Text.Json,為什麼要用可以參考 黑大這一篇,在尋求 Json Compare/Diff 解決方案時大都是看到 Newtonsoft(Json.NET) 的 JsonDiffPatch 做法,經同事分享 System.Text.Json 已經有人實作出來了,知道後立馬套用
如何使用 ChangeTracking 追蹤物件變化再透過 EFCore.BulkExtensions 存到資料庫
- 536
- 0
- Change Tracking
- 2022-03-30
當我們需要異動資料庫某一筆資料的某些欄位,可以通過追蹤機制來記錄那些欄位被改變了,除了自己開發之外,還可以考慮 ChangeTracking,它是一套可以輕易的幫我們追蹤物件、集合的利器,不過,有一點可惜的是他最後一次更新是在 2019
接下來,我想要利用這個追蹤機制幫我完成資料表的部分更新,有異動的欄位才更新。
追蹤異動變化使用 ChangeTracking ,消化異動並存放到操作資料庫則使用 EF / EF Core,當然,這不受限,你可以挑選妳喜歡的控制方式,接著,來看看怎麼實現它吧。
[ClickOnce] ClickOnce 如何切換使用管理員和程式運行中自動更新
這個看似簡單的運作機制,看似相當的簡單,實作的過程中卻是傷痕累累,主要的原因是 ApplicationDeployment 類別在管理員模式下無法執行,為了解決這問題我動了點手腳,也花了不少時間
[Web API] 壓縮和解壓縮
當有大量資料 Client/Server 之間往返時,可以考慮使用壓縮/解壓縮來降低網路流量的往返,不過,這伴隨而來副作用就是伺服器的資源損耗,使用時務必深思;壓縮/解壓縮是要彼此搭配,一方壓,另一方解,演算法也要能對應的比較常見的就是 GZip/Deflate 了,等下為了減少篇幅,我會只會呈現 Deflate 的實作,其餘的代碼就到 github 看
[WinForn] BindingSource 使用 ErrorProvider 驗證欄位
畫面上有 BindingNavigator、DataGridView,它們的資料都來自 BindingSource,我希望透過上方的編輯區塊進行編輯、驗證的互動,不是 GridView,畫面設計如下圖:
我想要做的功能很簡:單當移動"列"時,驗證當下的所有欄位,驗證失敗不准離開
[C#] 向 CA Server 註冊 WebServer 憑證範本
- 1616
- 0
- Certificate
為了註冊 CA 憑證動作更簡化,於是花了三四天研究怎麼用 C# 控制註冊流程,過程真的挺累,結果挺爽的...
[WinForm] 利用全域例外捕捉和方法自訂特性,提升Error可讀性
- 3184
- 0
- Error Handler
- 2019-06-23
結對開發時常常會看到例外處理寫的不好,來看看這一次的案例...