【发布时间】:2017-04-16 18:09:45
【问题描述】:
我正在为我们的应用程序开发搜索引擎。 用户应该能够找到包含更多单词或任何这些单词的项目。用户可以使用“查找包含所有单词的位置”或“查找包含任何单词的位置”。
我正在使用 C# 4.6.2 和 LINQ to SQL。
代码类似于:
var words = userInput.Split(' '); // can be something like "Hi all"
var result = selection.Where(q => words.Any(k => q.Name.Contains(k)));
在这种情况下,用户想要查找包含“Hi”或“all”的项目
当我尝试遍历结果时,我得到了这个异常: 本地序列不能在查询运算符的 LINQ to SQL 实现中使用,包含运算符除外
你知道什么是最好的方法吗?
谢谢 雅库布
【问题讨论】:
-
在 SO 上搜索错误信息往往会产生更好的结果:stackoverflow.com/q/8164460/335858
-
您可以考虑使用MSSQL的全文索引功能吗? docs.microsoft.com/en-us/sql/relational-databases/search/…
标签: c# linq linq-to-sql