[C#] Json Compare/Diff 解決方案

現在的工作大都是使用微軟內建的 Json 序列化套件 System.Text.Json,為什麼要用可以參考 黑大這一篇,在尋求 Json Compare/Diff 解決方案時大都是看到 Newtonsoft(Json.NET) 的 JsonDiffPatch 做法,經同事分享 System.Text.Json 已經有人實作出來了,知道後立馬套用

...繼續閱讀 »

如何使用 ChangeTracking 追蹤物件變化再透過 EFCore.BulkExtensions 存到資料庫

當我們需要異動資料庫某一筆資料的某些欄位,可以通過追蹤機制來記錄那些欄位被改變了,除了自己開發之外,還可以考慮 ChangeTracking,它是一套可以輕易的幫我們追蹤物件、集合的利器,不過,有一點可惜的是他最後一次更新是在 2019

接下來,我想要利用這個追蹤機制幫我完成資料表的部分更新,有異動的欄位才更新。

追蹤異動變化使用 ChangeTracking ,消化異動並存放到操作資料庫則使用 EF / EF Core,當然,這不受限,你可以挑選妳喜歡的控制方式,接著,來看看怎麼實現它吧。

...繼續閱讀 »

[Web API] 壓縮和解壓縮

當有大量資料 Client/Server 之間往返時,可以考慮使用壓縮/解壓縮來降低網路流量的往返,不過,這伴隨而來副作用就是伺服器的資源損耗,使用時務必深思;壓縮/解壓縮是要彼此搭配,一方壓,另一方解,演算法也要能對應的比較常見的就是 GZip/Deflate 了,等下為了減少篇幅,我會只會呈現 Deflate 的實作,其餘的代碼就到 github 看

...繼續閱讀 »

[C#.NET] 如何定義多欄位的常數

  • 1988
  • 0
  • C#
  • 2019-09-06

當資料庫只存放 Key,UI 需要呈現"說明"讓用戶可以閱讀,常見的做法有:DB 存放說明欄位、應用程式定義說明欄位。

這個 Key 是給應用程式判斷邏輯用是常數,我選擇放在應用程式,若 DB 也要閱讀定義,就從應用程式寫到 DB;反之,你也可以統一在 DB 定義,透過 T4 產生 cs,讓應用程式使用。

不管你選哪種方式,統一一種就好。

 

...繼續閱讀 »