使用 And 和 Or 关键字搜索实现高级搜索
我有一个文本框,用户可以在其中键入要搜索的关键字,方法是包含 and
和 or
关键字,以使关键字像 SQL 过滤器一样工作。如何使用 Linq 执行此类搜索?如果可能,还请考虑括号 (()
)。
I have a textbox in which the user can type keywords to search for by including and
and or
keywords to make the keywords work like a SQL Filter. How can I perform this type of search using Linq? If possible, please also take parentheses (()
) into consideration.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果它是自由文本输入,例如
LastName = "Smith" 和 FirstName = "John"
那么您可能会发现使用 Scott Guthrie 的 动态Linq 库,它提供了一个
Where()
方法,该方法接受解析为 lambda 的字符串。然后你可以这样做:它支持
and
和or
运算符,如上所示,以及括号和其他运算符和方法的主机。If it's going to be free text entry, e.g.
LastName = "Smith" and FirstName = "John"
then you may find it helpful to use Scott Guthrie's Dynamic Linq library, which provides a
Where()
method that accepts a string that it parses into a lambda. Then you could do something like this:It supports the
and
andor
operators, as shown above, as well as parentheses and host of other operators and methods.