LINQtoSql - 如何基于字符串数组进行通配符搜索

时间:2013-04-11 15:33:21

标签: .net vb.net linq linq-to-sql

在我们的一个表中有一个逗号分隔的关键字字段,是否有任何直接的LINQtoSQL方法从字符串数组中搜索每个关键字?

如果字段中有一个关键字,则以下内容仅返回

    Dim q = (From l In db.ListingViews
             Where keywordsarray.Contains(l.Keywords)
             Select l).ToList

我找到的唯一方法是获取整个表然后搜索它--.ANQtoSQL不支持这种方式。并且.contains只需要一个字符串。

  Dim q = (From l In db.ListingViews
                     Select l).ToList


            Dim q2 = (From b In q
                      Where keywordsarray.Any(Function(s) b.Keywords.Contains(s))
                     Select b).ToList


            Return q2

1 个答案:

答案 0 :(得分:1)

您可以使用SqlMethods.Like方法:
http://msdn.microsoft.com/en-us/library/bb355235.aspx