谓词构建器故障排除

时间:2015-07-14 20:50:30

标签: c#

我目前有两个复选框,一个叫做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开头,但它应该是和(或+或)。

0 个答案:

没有答案