如何将搜索字符串转换为 LINQ 查询。
定界符总是 AND,OR,(,) 假设我有搜索字符串输入:
- abc 与 xcv 或 cvb 或 pqr
- (abc AND pqr) 或 zxc 或尝试
- pqr OR ter AND (asd OR tor)
我想基于此构建一个 LINQ 查询。示例输出(对于案例 3): 1. 其中 value = "pqr" OR value="ter" AND (value="asd" OR value="tor")
我们如何才能实现字符串的这种隔离。
看看System.Linq.Dynamic
。似乎有你想要的功能。
动态 LINQ(第 1 部分:使用 LINQ 动态查询库)
否则,您可以自己解析表达式并生成表达式树。
带有表达式树的动态 LINQ 查询
https://www.simple-talk.com/dotnet/.net-framework/dynamic-linq-queries-with-expression-trees/