我正在为应用程序创建过滤器,对同一窗口有两种方法,第一种方法是当我传递 code 并用它获取所有记录时,第二种方法是当我需要在 code 为空或空时获取所有记录。搜索了很多解决方案但没有找到任何解决方案
var predicate = PredicateBuilder.New<Foo>();
if (!string.IsNullOrEmpty(requestModel.code))
{
predicate = predicate.And(x => x.code == requestModel.code);
}
if (string.IsNullOrEmpty(requestModel.code))
{
//here I want to get all records from table
}
return await context.Foo
.AsExpandable()
.Where(predicate)
.ToListAsync(cancellationToken);
使用 PredicateBuilder 时可以从传递真值开始:
var predicate = PredicateBuilder.New<Foo>(true);