2016-04-10 7 views
1

私は検索アルゴリズムを書いています。最後の部分では、検索結果を個々の単語に分割し、それらの単語のうちの少なくとも1つを含む結果を検索したいと考えています。下の "ContainsAny"のような機能を持つ関数はありますか?さもなければ、私はどうすればそれを起こすことができますか彼らは「メタルスプーン」「メタルチェア」と「スプーンブック」の両方を検索する場合、各検索用語の少なくとも一つが含まれているため配列から少なくとも1つの項を含む結果を見つける

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))); 
関連する問題