protected override Expression VisitUnaryExpression (UnaryExpression expression)
{
var result = base.VisitUnaryExpression (expression);
var oldInMemoryProjectionBody = CommandBuilder.GetInMemoryProjectionBody();
if (oldInMemoryProjectionBody != null
&& (expression.NodeType == ExpressionType.Convert || expression.NodeType == ExpressionType.ConvertChecked))
{
var newInMemoryProjectionBody = Expression.MakeUnary (expression.NodeType, oldInMemoryProjectionBody, expression.Type, expression.Method);
CommandBuilder.SetInMemoryProjectionBody (newInMemoryProjectionBody);
}
return result;
}