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