2016-04-10 32 views
1

我在寫一個搜索算法。對於它的最後一部分,我想將他們的搜索分成單個單詞,然後找到至少有一個單詞在其中的任何結果。有什麼功能可以像下面的「ContainsAny」一樣工作嗎?否則,我該如何做到這一點?用數組中的至少一項查找結果

string[] splitStr = text.Split(); 
result = db.Table.Where(x => x.Name.ContainsAny(splitStr).FirstOrDefault(); 

例如,如果搜索「金屬勺」既「金屬椅」和「勺書」將是有效的結果,因爲每一個包含搜索項的至少一個。

+0

正則表達式或相交 –

回答

1

沒有ContainsAny,但你可以使用的AnyContains組合是這樣的:

var results = db.Table.Where(x => splitStr.Any(s => x.Name.Contains(s))); 
相關問題