我有一個很長的LinqtoSQl查詢,其中幾個參數我不強迫用戶指定任何東西。我開始使用Select Case語句來測試參數字符串的長度是否大於0或者是否大於0。但是我意識到必須測試每種可能性並根據每種可能性創建查詢。LINQTOSql缺少參數問題
我做了一些搜索並跑過一篇帖子,回覆帖子的人說這個帖子否定了查詢的一部分||。在做了一些更多的搜索(並且實現了很少的C#技能後,我確實知道||是OR條件語句),我意識到這對我沒有幫助。
我想我想要做的是一樣的東西
Dim r = From x in db.List _
(if firstName.Length < 1 then ignore query
else)where x.firstName = firstName _
(if lastName.Length < 1 then ignore query
else)where x.LastName = lastName _
Select x
我KNW必須有比通過這個IfElse'ing我的方式更好的辦法......我正要做一些時髦的東西與一個StringBuilder,但我不知道它會「火」,即:
Dim sb as New StringBuilder
sb.Append("Dim r = From x in db.List _")
If firstName.Length < 1 then
sb.Append("Where x.firstName = firstName")
ughh,請告訴我有一個更好的辦法...
感謝您的幫助!
我想我需要你來翻譯這對我來說... 我喜歡這個想法,但... 我試圖 昏暗查詢作爲的IQueryable(名單)= db.List query.Where(x => x.firstName == firstName) 但intellesense去嘗試輸入其他東西,然後我得到警告和錯誤,未聲明x ... 謝謝! – wali 2010-07-16 19:47:08
只是想通了... query.Where(函數(x)x.firstName = firstName) 傻VB! 非常感謝! – wali 2010-07-16 20:08:20