[問題] LINQ多條件查詢

作者: spong (請輸入ID)   2021-07-23 02:18:12
想請問今天前端做了三個input box,並讓使用者輸入,這三個輸入框不硬性規定是必填項
目,現在要使用LINQ 對資料庫做查詢
(1)用query.where(....).where(....)這種串where的方式,都是使用者一定都填才不會
出錯,如果有一項沒填,這種查詢語法一定出問題
(2)如果使用下圖方式,雖然可以避免,使用者有沒填入的項目,但是總覺得不是好方法
不知道有沒有更好的方式,圖中使用系統
軟體:LINKPAD
資料庫:MSSQL 北風資料庫
報表:Order
https://i.imgur.com/GUUCPmU.jpg
https://i.imgur.com/2JYwftb.jpg
作者: testPtt (測試)   2021-07-23 09:07:00
3個資料沒順序性就只能各別查
作者: Litfal (Litfal)   2021-07-23 12:18:00
2沒什麼問題啊,確定query是IQueryable就好
作者: wezmag (wezmag)   2021-07-23 12:52:00
ExpressionBuilder應該是你需要的
作者: APTON (瑋瑋)   2021-07-23 13:29:00
可以寫一個擴充方法,把你要檢核的方法帶入就好
作者: nicetw20xx (哇愛台灣)   2021-07-23 21:57:00
https://dotnetfiddle.net/GOtIy1不確定是不是你要的,不趕的話的話我會寫Method2
作者: uuio30678 (showgunla)   2020-01-27 21:58:00
用whereif

Links booklink

Contact Us: admin [ a t ] ucptt.com