我正在尝试修改一些返回数据库结果的代码。目前代码如下,并匹配任何具有搜索词等名称的资金。
var ret = (from funds in queryable
where
SqlMethods.Like(funds.Name, searchTerm)
select
funds);
问题在于它太具体了。如果搜索词是“养老金增长”,那么它只返回名称中有“养老金增长”的结果。我想更改此选项以返回名称中包含“退休金”或“增长”的所有资金(或用户可以包含的搜索字词组合)。
我想要做的是将搜索术语拆分为其组成部分,并将SQL“in”运算符应用于in ('pension', 'growth')
之类的查询,以便它返回任何包含某些内容的内容。这些条款,但似乎不是一种选择。
有人可以建议我采取另一种方式吗?感谢。
答案 0 :(得分:1)
您可以尝试在列表中使用Contains()
方法:
var myListOfWords = new List<string>{"pension","growth","42"};
var result = from funds in queryable
where myListOfWords.Contains(funds.Name)
select funds;