LINQ 多个 where 和 if 语句

LINQ multiple where and if statements

如何使用 LINQ 对数据进行多次排序?我尝试关注,但它只是 returns 所有客户。

var query = this.dbContext.Customers;
if (!string.IsNullOrEmpty(sortFilterName))
{
    query.Where(q => q.Name.Equals(sortFilterName));
}
if (!string.IsNullOrEmpty(sortFilterAddress))
{
    query.Where(q => q.Adress.Equals(sortFilterAddress));
}
return query.ToList();

您需要将 query 变量分配给过滤结果:

var query = this.dbContext.Customers;
if (!string.IsNullOrEmpty(sortFilterName))
{
    query = query.Where(q => q.Name.Equals(sortFilterName));
}
if (!string.IsNullOrEmpty(sortFilterAddress))
{
    query = query.Where(q => q.Adress.Equals(sortFilterAddress));
}
return query.ToList();