public virtual Expression VisitSqlConvertedBooleanExpression (SqlConvertedBooleanExpression expression)
{
ArgumentUtility.CheckNotNull ("expression", expression);
var namedExpression = expression.Expression as NamedExpression;
if (namedExpression != null)
{
// Since ADO.NET returns bit columns as actual boolean values (not as integer values), we need to convert the NamedExpression back to be
// of type bool/bool? instead of int/int?.
var conversionToBool = GetBitConversionExpression (
sourceType: namedExpression.Type, targetType: expression.Type, convertedExpression: namedExpression.Expression);
var newNamedExpression = new NamedExpression (namedExpression.Name, conversionToBool);
return VisitExpression (newNamedExpression);
}
else
{
VisitExpression (expression.Expression);
return expression;
}
}