使用linq进行全文搜索

时间:2013-07-24 06:27:50

标签: wcf silverlight-4.0 full-text-search observablecollection linq-to-objects

我有一个从wcf服务返回的可观察集合中的名称列表,数据库是oracle,我想使用LINQ在列表上进行全文搜索。

在silverlight应用程序中消耗了服务。

任何建议请。

2 个答案:

答案 0 :(得分:2)

这个怎么样?

var found = thelist.Where(str => str.Contains(strToSearchFor));

或者也许这个 -

var found = thelist.Where(str => str.ToLower().Contains(strToSearchFor.ToLower()));

如果它不是这样的字符串列表:

var found = thelist.Where(obj => obj.strProperty.Contains(strToSearchFor));

答案 1 :(得分:0)

如果您需要此解决方案不区分大小写,则可以在不创建新字符串的情况下完成Hogan的解决方案(通过使用ToLower()方法)。

首先,创建一个扩展方法:

public static class Extensions
{
    public static bool Contains(this string source, string stringToMatch, StringComparison comparisonType)
    {
        return source.IndexOf(stringToMatch, comparisonType) >= 0;
    }
}

然后你可以像这样使Hogan解决方案不敏感:

var found = thelist.Where(str => str.Contains(strToSearchFor, StringComparison.OrdinalIgnoreCase));