2020年12月8日 星期二

【C#】LINQ查詢語法不Work

之前的工作一直很少接觸到LINQ,以致於一直都只是看懂得LINQ,卻沒多少LINQ方面的實務,剛好現在的客戶的程式,資料庫存取仰仗了大量的LINQ,逼得也只好跟著接觸LINQ了!

玩了老半天了,條件一直不Work,搞了我差點神經衰弱,以為自己的邏輯出了什麼問題~XD



參考來源:https://www.366service.com/zh-tw/qa/018676a73d3a8e1bfd2135a67663d65f


很顯然,苦主並不只有我~XD

Anyway,這不知道算不算是LINQ的BUG,只要欄位值是NULL,不管你下了怎樣的比對語法,都會不Work,C#不會報錯,SQL端也風平浪靜~

var result = from err in errInv
        where err.InvMsg.IndexOf("成功") == 0 && err.InvMsg.IndexOf("正常") ==0

然而,只要做點小調動就好了~

var result = from err in errInv
        where (err.InvMsg.IndexOf("成功") == 0 && err.InvMsg.IndexOf("正常") ==0)
                || string.IsNullOrEmpty(err.InvMsg)

是不是很傻眼?都不知道該說是笨,還是一個口令一個動作了~(翻白眼攤手)

沒有留言:

張貼留言