我将如何使用表达式树动态创建类似于......的谓词
(p.Length== 5) && (p.SomeOtherProperty == "hello")
Run Code Online (Sandbox Code Playgroud)
这样我就可以将谓词粘贴到lambda表达式中......
q.Where(myDynamicExpression)...
Run Code Online (Sandbox Code Playgroud)
我只需指向正确的方向.
更新:对不起,我遗漏了一个事实,即我希望谓词具有上述多个条件.对困惑感到抱歉.
如果你在Linq查询中添加"和"条件,那么很容易就这样做:
var q = MyTable;
if (condition1)
q = q.Where(t => t.Field1 == value1);
if (condition2)
q = q.Where(t => t.Field2 > t.Field3);
// etc.
Run Code Online (Sandbox Code Playgroud)
当你想添加"或"条件时,有没有聪明的方法做同样的事情?