1

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

以下仅在字段中有一个关键字时返回

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

我发现解决这个问题的唯一方法是获取整个表,然后搜索它 - LINQtoSQL 不支持 .any ,并且 .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
4

1 回答 1

1

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

于 2013-04-12T12:23:44.310 回答