我目前有两个复选框,一个叫做Payment,另一个叫做Reversal。如果勾选付款或撤销,则应查询付款或撤销交易,否则不查询。我写了一个谓词构建器,但它只适用于一次勾选的一个。我试图显示两者但它不起作用,它什么也没显示。
var predicate = PredicateBuilder.True<TransactionDTO>();
if (parameters.Reversal)
{
predicate = predicate.And(x => x.Description.Contains("Reversal"));
}
if (parameters.Payment)
{
predicate = predicate.And(x => x.Description.Contains("Payment"));
}
transactionDTOCollection = new BindableCollection<TransactionDTO>(transactionDTOCollection.Where(predicate.Compile()).AsParallel());
我认为它与谓词的编写方式有关。它以And + And开头,但它应该是和(或+或)。