FluentAssertions是很好用的套件
他讓單元測試的程式碼變的更簡潔明瞭
FluentAssertions是很好用的套件
他讓單元測試的程式碼變的更簡潔明瞭
今天我們來對.Net Mvc中的Controller中的ViewResult進行驗證
我使用的方法很簡單
MSTest + FluentAssertions (需從Nuget下載,但其實用VS內建的Assert也沒差)
NPOI是很老牌的可以讓你產出xls與xlsx的元件
但可能就是因為他太老牌了 許多操作應用上並不便利
通常程式碼中只要用了NPOI 都會看起來落落長很醜
很像.net 以前 大家寫 webform 用 datatable + gridview 在塞資料的那種味道
程式碼中 會有超多創建格子、給格式、給值.......幾百行、千行無限循環
跟現在大家喜歡寫程式習慣並不太符合
所以今天我們試著來包裝NPOI讓他變的更易用些
在C#中的複製有兩種
深度複製 (Deep Copy) 與淺層複製 (Shadow Copy)
這兩者到底是什麼意思 請大家Google一下便知道了
通常淺層複製是不需要關心的 難就難在深度複製
其實Reflection不難 但就是效能比不上hard code好
如果應用的情境不需在意效能 拿來處理一些瑣碎的小功能是蠻好用的
今天我們以假設要輸入一個字串List => 取回 不重覆、並排除空字串、Null、前後空白為例
來寫一個小function
很多人直覺認為輸出CSV檔是很簡單的事情
不就是一堆由逗號,分隔欄位 再一行一行輸出即可
但若考慮到內容值本身含有, => 剛好與Csv預設用來分隔欄位的符號一樣呢?
或者是內容值本身含有" => 原本期待字串可用" "包覆
當然這些都不難處理 只是處理這種小事很勞民傷財而已
我們可以更優雅的使用ServiceStack來處理
當我們使用Entity Framework + Linq時
要做and的運算是很簡單的
目標.Where().Where().Where().....即可
但如果我們要串接Or運算呢?
很可惜Linq本身先天並不支援
但我們可以透過LinqKit的幫助
假設我們想輸出的SQL為
SELECT *
FROM [MySampleTable]
where [NAME] like '%1%' or [NAME] like '%2%' or [NAME] like '%3%'
假設我們想用Entity Framework來建構一個DAL
完整程式碼詳見 https://gitlab.com/jesperlai/Dal-Using-Entity-Framework
.Net MVC原生提供非常多種Html Helper給大家使用
其中最容易忘記怎麼用的就是DropDownList
假設我們希望看到的畫面如下
.Net MVC本身就提供一套AuthorizeAttribute
但它常常與現有系統驗證、或是資料庫內的現有帳號資料表無法整合
所以今天與大家分享怎麼實作自己的AuthorizeAttribute
說明如何透過jQuery的ajax post來呼叫後端Controller
有時後我們會有資料需在表格中跨行的需求
例如John成績有三個科目 我們希望John跨行置中
其餘歷史、數學、科學再依序一行一列
今天跟大家分享如何做到模仿google搜尋
以+加號 分隔搜尋字串
今天我們討論如何在bootstrap的表格中做到強制斷行
來處理過長的網址、無法自動斷行的長字串造成頁面破版的問題
functions => 函數 (在前端寫c#語法) = 你原本在後端怎麼寫c# 在前端就怎麼寫
HtmlHelper => 讓你可以在前端以C#語法生成 Html 標籤
簡單來說他就是生成一段html script
因為是程式產出的 所以可以很容易做一些動態字串的串接、跨頁面的表單元件reuse等等
其實連接Oracle與MS-SQL大同小異
只是需要安裝的EF套件與Context設定上有些差異
我只實作不同的地方
其他相同處請回使用Entity Framework連接MS-SQL看
1. 從Nuget安裝Entity Framework
2.建立Model
3.建立DbContext
4.建立Repository
5.執行 + 呈現
如何使用Entity Framework連接MS-SQL
1. 從Nuget安裝Entity Framework
2.建立Model
3.建立DbContext
4.建立Repository
5.執行 + 呈現