public override FilteringExpression ToFilteringExpression(ParameterExpression parameterExpression) { var expression = GetFilteringExpression(parameterExpression); var result = new FilteringExpression(expression, LogicalConnection.GetExpression()); return(result); }
public FilteringExpression ConnectTo(FilteringExpression filter) { var expression = LogicalConnection(Expression, filter.Expression); var result = new FilteringExpression(expression, filter.LogicalConnection); return(result); }
public override FilteringExpression ToFilteringExpression(ParameterExpression parameterExpression) { var filteringExpressions = Filters.Select(x => x.ToFilteringExpression(parameterExpression)).ToList(); FilteringExpression filteringExpression = null; foreach (var currentExpression in filteringExpressions) { if (filteringExpression == null) { filteringExpression = currentExpression; continue; } filteringExpression = filteringExpression.ConnectTo(currentExpression); } return(filteringExpression.WithLogicalConnection(LogicalConnection.GetExpression())); }