2

如何将搜索字符串转换为 LINQ 查询。

定界符总是 AND,OR,(,) 假设我有搜索字符串输入:

  1. abc 与 xcv 或 cvb 或 pqr
  2. (abc AND pqr) 或 zxc 或尝试
  3. pqr OR ter AND (asd OR tor)

我想基于此构建一个 LINQ 查询。示例输出(对于案例 3): 1. 其中 value = "pqr" OR value="ter" AND (value="asd" OR value="tor")

我们如何才能实现字符串的这种隔离。

4

1 回答 1

0

看看System.Linq.Dynamic。似乎有你想要的功能。

动态 LINQ(第 1 部分:使用 LINQ 动态查询库)

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

否则,您可以自己解析表达式并生成表达式树。

带有表达式树的动态 LINQ 查询

https://www.simple-talk.com/dotnet/.net-framework/dynamic-linq-queries-with-expression-trees/

于 2013-08-09T02:44:29.920 回答