2012-02-03 58 views
0

林相當新,並試圖寫一個搜索結果查詢。Linq查詢比較收集是否包含字符串列表

我們爲我們的服務檯使用了標籤系統,我試圖從下拉列表中返回包含標籤或子標籤的所有案例。

我正在使用路徑比較來查找任何兒童標籤,當只有1個標籤被選中時效果很好。這是我選擇多個標籤時的代碼,但它不起作用。你能爲我指出正確的方向嗎?

單變量精選(工作)

Dim tagpath = uxTags.SelectedItem.Text 
    lnqCases = From i In lnqCases Where i.HelpDeskTagItems.Any(Function(x) x.Path.StartsWith(tagpath)) 

多變量選擇(不工作)

Dim tagpaths As New List(Of String) 
    For Each i In TagList.SelectedItems 
     tagpaths.Add(i.ToString) 
    Next 
    lnqCases = From i In lnqCases Where i.HelpDeskTagItems.Any(Function(x) x.Path.StartsWith(tagpaths.Any)) 

回答

0

反向邏輯,在列表中選中的路徑

lnqCases = From i In lnqCases Where i.HelpDeskTagItems.Any(Function(x) tagpaths.Contains(x.Path)) 

或者繼續StartsWith邏輯

lnqCases = From i In lnqCases Where i.HelpDeskTagItems.Any(Function(x) Test.Exists(Function(m) m.StartsWithPath(x))) 
相關問題