在一个代码中我有以下过滤器定义(filter
是FilterDefinitionBuiler<T>
的实例)
filter = Filter.And(
Filter.Eq(x => x.CompanyId, companyId),
Filter.Eq(x => x.DepartureProviderUniqueValue, departureValue),
Filter.Eq(x => x.ArrivalProviderUniqueValue, arrivalValue),
现在如果满足条件,我想扩展我这样做的查询
if(date > DateTime.Min)
{
filter= Filter.And(filter, Filter.Eq(x => x.DepartureDate, date));
}
但是当我运行查询时,它的行为就像第一个条件用OR而不是AND来结合。我会理解它会像嵌套子句一样,但所有条件都与AND连接。
有任何解释吗?我做错了什么?