我已经提取了代码库的相关部分来说明。我真的坚持一些可能很简单的事情。
对于信息,在数据库中 p 和 entity1 之间存在一对多的关系。
predicate = PredicateBuilder.False<myType>();
.....
predicate = predicate.And(p => p.entity1.FirstOrDefault().id == 1 || p.entity1.FirstOrDefault().id == 2);
我真正需要的是以编程方式执行( p.entity1.FirstOrDefault().id == 1 || p.entity1.FirstOrDefault().id == 2 )
例如下面
List<int> listOfId = new List<int>(){1,2,3,4,5,6,7,8,9};
predicate = predicate.And(p => p.entity1.id.wherein(listOfid);
无论如何这是可能的,这对我来说非常重要。