protected override SqlFragment VisitBinaryExpression(DbExpression left, DbExpression right, string op)
{
BinaryFragment f = new BinaryFragment();
f.Operator = op;
f.Left = left.Accept(this);
f.WrapLeft = ShouldWrapExpression(left);
if (f.Left is ColumnFragment)
{
_columnsVisited.Push( (( DbPropertyExpression )left ).Property );
}
f.Right = right.Accept(this);
if (f.Left is ColumnFragment)
{
_columnsVisited.Pop();
}
f.WrapRight = ShouldWrapExpression(right);
return f;
}