public override SqlExpression VisitBinary(SqlBinaryExpression binaryEpression) { if (binaryEpression.ExpressionType == SqlExpressionType.And) { rangeSet = UpdateRange(binaryEpression.Left); rangeSet = UpdateRange(binaryEpression.Right); } else if (binaryEpression.ExpressionType == SqlExpressionType.Or) { var left = CalcExpression(binaryEpression.Left); var right = CalcExpression(binaryEpression.Right); rangeSet = rangeSet.Union(left); rangeSet = rangeSet.Union(right); } else { rangeSet = UpdateRange(binaryEpression); } return base.VisitBinary(binaryEpression); }