首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果name包含要搜索的任何单词,如何过滤查询结果?

如果name包含要搜索的任何单词,如何过滤查询结果?
EN

Stack Overflow用户
提问于 2010-08-31 20:13:59
回答 1查看 297关注 0票数 0

我正在尝试修改一些从数据库返回结果的代码。目前的代码如下所示,并匹配具有类似搜索条件的名称的任何基金。

代码语言:javascript
复制
        var ret = (from funds in queryable
                where
                    SqlMethods.Like(funds.Name, searchTerm)
                select
                    funds);

这样做的问题是太具体了。如果搜索词是“养老金增长”,它将只返回名称中有“养老金增长”的结果。我想改变这一点,以返回名称中有“养老金”或“增长”的所有基金(或者用户可以包括的任何搜索词的组合)。

我想要做的是将搜索词拆分成它的组成部分,并对查询应用SQL 'in‘运算符,比如in ('pension', 'growth')或其他东西,这样它就会返回包含某些搜索词的任何内容,但这似乎不是一个选项。

有没有人能建议我另一种方法来解决这个问题?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-31 20:26:10

您可以尝试在列表上使用Contains()方法:

代码语言:javascript
复制
var myListOfWords = new List<string>{"pension","growth","42"};
var result = from funds in queryable
             where myListOfWords.Contains(funds.Name)
             select funds;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3608871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档