我正在寻找为我的应用程序服务实现通用的过滤和排序机制 .
做了一些研究之后,似乎LINQKit对于使用谓词构建器来说是理想的 . 我还发现一些文章在实现方面有一些很好的细节:
-
http://www.codeproject.com/Articles/493917/Dynamic-Querying-with-LINQ-to-Entities-and-Express
-
http://www.codeproject.com/Tips/582450/Build-Where-Clause-Dynamically-in-Linq
然而,我没见过的一件事是WHERE子句的条件逻辑 . 我看到的每个例子似乎只是和那里的条件 .
我正在寻找可以构建更复杂表达式的东西,例如:
WHERE((Field1 = 1 OR Field1 = 2)AND Field2 = 3)OR Field4 ='A'
有没有人看到过将条件逻辑添加到过滤器的通用实现中的实现?
1 回答
表达树可能是你的答案 . 这里也是OR条件,还有更多可能 . 这是我的例子: