demoshop

demo, trying to be the best_

Entity Framework 大幅簡化開發人員操作資料庫的工作,在單筆操作時 Entity Framework 非常舒服好寫,但遇到了需要大量更新和大量刪除的情境時 ORM 的特性反而顯的好像有點累贅並且消耗大量效能,好在這問題在 Entity Framework Core 7 的時候有了官方解。

使用 Code Snippet  可以有效的減少開發人員日常重複輸入的麻煩,但你的程式碼片段不是我的程式碼片段,辛苦整理好的 Code Snippet  該怎麼保存甚至分享呢?在這裡就要推薦一個好套件 Code Snippet Studio  。

開發者日常總有一些需要經常性重複輸入的程式碼片段,短一點的可能可以靠肌肉記憶很順暢的打出來,但比較長的for迴圈、建構子、例外處理等輸入起來就比較麻煩,其實在 Visual Studio 中一直都有提供程式碼片段簡化這部分的操作,我也滿訝異的我從來沒寫過…

.NET 中有非常好用的 DataAnnotations 相關 Attr 讓開發者可以快速的處理資料驗證,不過當相同行為很多時,難免會因為不同時期開發或不同的程式人員而導致錯誤訊息顯示的格式不一致,在這裡我將介紹我是如何利用 shared resource 來解決這問題。

最近因為一些原因,加快了我把某專案升級為 .NET 6 的時程,升級之前當然是要做些 POC 最簡單的就是建立一個範本專案,然後跑一些重點需求,確保這些需求的執行結果如預期,而在開啟範本專案後,有一個東西吸引了我的眼球,如是我就開始研究進去了…            

先說結論:這是編碼錯誤導致!

印象中每一版的 Visual Studio 剛推出都會有一樣的問題(難怪大家都說不要裝中文版),昨天要睡覺之前寫好了一個新功能,推上 Azure DevOps 跑到 CI 時一直跳出 Error CS1010: Newline in constant 的錯誤, 一時半刻沒反應過來,一陣子後才回想起這不是每次都會碰到的嗎….(上一次是 2019 難怪我忘了) ,這篇文章會快速的講原因和解法。 

Link Tag Helper Sample Code

  • 2021-05-24
  • 3282
  • 0

Link Tag Helper 是在 .NET Core 的 MVC 與 Razor Pages 中提供的新擴充方法,用來處理使用 CDN 載入外部資源時的例外處理,可以用很優雅的方式設定外部資源載入錯誤時的備援機制,以往在 .NET Core 2.x 的時候專案範本擁有完整的範例,但升級到 3.x 後此範例就沒了,所以這篇文章主要就是記錄官方內建的範例程式碼,也順便釐清問題。

廣大的 .NET 開發者一定都用過 DateTime ,取得現在的時間就很自然的使用 DateTime.Now,看似美好的日子竟然會因為雲端的普及而開始受到迫害,雲端平台的服務因為是全球性質因此時區通常都定在國際標準時間 UTC +0(以下稱為 Universal Time) ,所以為了時區的正確性,我們開始改變了時間的寫法,由 DateTime.Now 換成了 DateTime.UtcNow ,並且保持一個開發原則,進資料庫儲存的都是 Universal Time 顯示時再調整為適合的本地時區(以下稱為 Local Time 並且使用台灣時區 UTC+8)顯示,在這個原則限制之下世界終於恢復了平靜,但真的是這樣嗎?…

相信很多人是直接跳這裡看結論的,但我真的希望你結論看完以後回頭看看其他兩篇的文字與範例程式碼,你應該更可以感受到 Razor Pages 的優良之處,我現在一個專案開始的時候我會優先選擇使用  Razor Pages , 除非我在初期就明確的知道這個專案在 MVC 會比較好寫,這兩者也不應該是堅持一種,應該看專案的不同與專案成員的能力來選擇,只會一種你就沒得選,會兩種你的機會就大,我們有在開設 Razor Pages 的課程,歡迎你來加大自己的版圖,讓你也有[選]的能力。

精準解析 RazorPages
https://skilltr.ee/razorpage            

以前 MVC 框架有人反應拆太細了,大多數專案其實不需要那麼龐大的架構,現在有了更聚焦更輕量化的 Razor Pages,或許對於我們是一個不錯的解法。

情境解說

在資料庫中的資料表欄位會依據資料面來設計,但往往會與「顯示」「新增」「編輯」時所需的欄位不同,可能有多也可能有少,得過且過的開發人員會一股腦的都用 DB Model 來傳遞資料,但這是一種浪費也可能造成資安問題,依據我們開發 MVC 的習慣會建立稱為 View Model 的傳遞物件,本篇文章就來示範此情境在 ASP.NET MVC 與 Razor Pages 我們會怎麼做。

為了讓範例可以達到不用解釋的目的,我們將以會員註冊這大家都寫過的東西來做範例。