c# – LINQ to Entities无法识别方法’System.String [] Split(C
发布时间:2020-12-15 07:57:08 所属栏目:百科 来源:网络整理
导读:我正在尝试实现一种方法,其中存储在活动数据库中的关键字(用逗号分隔)与用逗号分隔的给定字符串匹配. public ListTblActivities SearchByMultipleKeyword(string keywords){ string[] keyword = keywords.Split(','); var results = (from a in Entities.Tbl
我正在尝试实现一种方法,其中存储在活动数据库中的关键字(用逗号分隔)与用逗号分隔的给定字符串匹配.
public List<TblActivities> SearchByMultipleKeyword(string keywords) { string[] keyword = keywords.Split(','); var results = (from a in Entities.TblActivities where a.Keywords.Split(',').Any(p => keyword.Contains(p)) select a).ToList(); return results; } 我收到以下错误: LINQ to Entities does not recognize the method 'System.String[] Split(Char[])' method,and this method cannot be translated into a store expression. 解决方法
对于不涉及太多关键字和太多行的查询,您可以实现这种简单快速的解决方案.您可以通过反复优化结果轻松绕过Split功能,如下所示:
public List<TblActivities> SearchByMultipleKeyword(string keywords) { string[] keywords = pKeywords.Split(','); var results = Entities.TblActivities.AsQueryable(); foreach(string k in keywords){ results = from a in results where a.Keywords.Contains(k) select a; } return results.ToList(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容