Remotion.Linq.SqlBackend.SqlGeneration.SqlGeneratingOuterSelectExpressionVisitor.VisitSqlConvertedBooleanExpression C# (CSharp) Метод

VisitSqlConvertedBooleanExpression() публичный Метод

public VisitSqlConvertedBooleanExpression ( SqlConvertedBooleanExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlConvertedBooleanExpression
Результат System.Linq.Expressions.Expression
    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;
      }
    }