我正在尝试修改一些从数据库返回结果的代码。目前的代码如下所示,并匹配具有类似搜索条件的名称的任何基金。
var ret = (from funds in queryable
where
SqlMethods.Like(funds.Name, searchTerm)
select
funds);这样做的问题是太具体了。如果搜索词是“养老金增长”,它将只返回名称中有“养老金增长”的结果。我想改变这一点,以返回名称中有“养老金”或“增长”的所有基金(或者用户可以包括的任何搜索词的组合)。
我想要做的是将搜索词拆分成它的组成部分,并对查询应用SQL 'in‘运算符,比如in ('pension', 'growth')或其他东西,这样它就会返回包含某些搜索词的任何内容,但这似乎不是一个选项。
有没有人能建议我另一种方法来解决这个问题?谢谢。
发布于 2010-08-31 20:26:10
您可以尝试在列表上使用Contains()方法:
var myListOfWords = new List<string>{"pension","growth","42"};
var result = from funds in queryable
where myListOfWords.Contains(funds.Name)
select funds;https://stackoverflow.com/questions/3608871
复制相似问题