我正在尝试实现多选过滤器以传递到通用存储库。
存储库过滤器方法采用Expression<Func<T, bool>>
参数。
通常我会将过滤器应用为
Filter(i => i.Id == myId && i.Name.Contains(myName))
但在这种情况下,我有一组在List中提供的值,我想遍历列表并动态创建Lambda表达式的一部分以传递给Filter方法。
所以我对filter方法的调用就像Filter(myGeneratedLambdaExpression&amp;&amp; i.Name.Contains(myName))
然后myGeneratedLambdaExpression会解析为类似的东西 (i =&gt; i.Id == myId1 || i.Id == myId2 || i.Id == myId3)and myId1,myId2和myId3是List中包含的值
我将如何做到这一点?