/// <summary> /// Translates the <paramref name="functionExpression"/> into a string representation. /// </summary> /// <param name="functionExpression">The <see cref="DbFunctionExpression"/> to translate.</param> /// <returns><see cref="DbExpression"/></returns> protected virtual DbExpression VisitFunctionExpression(DbFunctionExpression functionExpression) { switch (functionExpression.FunctionExpressionType) { case DbFunctionExpressionType.String: return(VisitStringFunctionExpression((DbStringFunctionExpression)functionExpression)); case DbFunctionExpressionType.Aggregate: return(VisitAggregateFunctionExpression((DbAggregateFunctionExpression)functionExpression)); case DbFunctionExpressionType.DateTime: return(VisitDateTimeFunctionExpression((DbDateTimeFunctionExpression)functionExpression)); case DbFunctionExpressionType.Mathematical: return(VisitMathematicalFunctionExpression((DbMathematicalFunctionExpression)functionExpression)); default: throw new ArgumentOutOfRangeException("functionExpression", functionExpression.FunctionExpressionType, "Not supported"); } }
/// <summary> /// Translates the <paramref name="functionExpression"/> into a string representation. /// </summary> /// <param name="functionExpression">The <see cref="DbFunctionExpression"/> to translate.</param> /// <returns><see cref="DbExpression"/></returns> protected virtual DbExpression VisitFunctionExpression(DbFunctionExpression functionExpression) { switch (functionExpression.FunctionExpressionType) { case DbFunctionExpressionType.String: return VisitStringFunctionExpression((DbStringFunctionExpression)functionExpression); case DbFunctionExpressionType.Aggregate: return VisitAggregateFunctionExpression((DbAggregateFunctionExpression)functionExpression); case DbFunctionExpressionType.DateTime: return VisitDateTimeFunctionExpression((DbDateTimeFunctionExpression)functionExpression); case DbFunctionExpressionType.Mathematical: return VisitMathematicalFunctionExpression((DbMathematicalFunctionExpression)functionExpression); default: throw new ArgumentOutOfRangeException("functionExpression", functionExpression.FunctionExpressionType, "Not supported"); } }