protected override Expression VisitConstant(ConstantExpression c) { var q = c.Value as IQueryable; if (q != null) { } else if (c.Value == null || string.Empty.Equals(c.Value)) { _sb.Append(_dnFilter ? "" : "*"); } else if (c.Value is Expression) { Visit(c.Value as Expression); } else if (_dnFilter) { _sb.Append(_shouldCleanFilter ? (c.Value as string).CleanFilterValue() : (c.Value as string)); } else if (c.Type == typeof(PartialResultProcessing)) { _asyncProcessing = (PartialResultProcessing)c.Value; } else if (_currentProperty != null) { var str = _currentProperty.FormatValueToFilter(c.Value); if (str.IsNullOrEmpty()) { throw new FilterException("Cannot use white spaces for a value in a filter."); } _sb.Append(str); } else if (!_binaryExpression && false.Equals(c.Value)) { _falseEncountered = true; } return(c); }