使用contains搜索多个术语

时间:2014-02-13 23:06:20

标签: c# linq search contains

我尝试修改解决方案Search Feature using .Contains with terms within a one field,但需要一些帮助。

我有一个对象结构:

public class product
     {
        public string productID {get;set;}
        public List<searchTerms> searchTerms {get; set;}
     }

    public class searchTerms 
    {
        public string searchTerm {get; set;}
    }

我想返回一个匹配searchTerm的新List。我试过了:

matchedProds = (
            from p in prods
            where p.searchTerms.Contains(term)
            select p
            ).ToList();

但无法将其作为文字字符串或searchTerm使用。

我哪里错了?

由于

2 个答案:

答案 0 :(得分:1)

怎么样:

var products = allProducts.Where(m => m.searchTerms.Any(n => n.searchTerm == input)).ToList()

答案 1 :(得分:0)

使用Any

var matchedProds = (
        from p in prods
        where p.searchTerms.Any(st => st.searchTerm == term)
        select p
        ).ToList();