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);
}