从数组中找到至少一个项的结果

时间:2016-04-10 18:11:40

标签: c# sql linq linq-to-sql

我正在编写搜索算法。对于它的最后一部分,我想将他们的搜索分成单个单词,然后找到其中至少有一个单词的任何结果。是否有任何功能可以像" ContainsAny"下面?否则,我该如何实现呢?

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

例如,如果他们搜索" Metal Spoon"两个"金属椅"和#34;勺子书"将是有效的结果,因为每个包含至少一个搜索词。

1 个答案:

答案 0 :(得分:1)

没有ContainsAny,但您可以像这样使用AnyContains的组合:

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