/// <summary> /// Translates the <paramref name="aggregateFunctionExpression"/> into a string representation. /// </summary> /// <param name="aggregateFunctionExpression">The <see cref="DbAggregateFunctionExpression"/> to translate.</param> /// <returns><see cref="string"/></returns> protected override DbExpression VisitAggregateFunctionExpression(DbAggregateFunctionExpression aggregateFunctionExpression) { var functionName = GetAggregateFunctionBody(aggregateFunctionExpression.AggregateFunctionExpressionType); var functionSyntax = CreateDefaultFunctionSyntax(functionName, aggregateFunctionExpression.Arguments); return(functionSyntax); }
/// <summary> /// Translates the <paramref name="aggregateFunctionExpression"/> into a string representation. /// </summary> /// <param name="aggregateFunctionExpression">The <see cref="DbAggregateFunctionExpression"/> to translate.</param> /// <returns><see cref="DbExpression"/></returns> protected virtual DbExpression VisitAggregateFunctionExpression(DbAggregateFunctionExpression aggregateFunctionExpression) { var arguments = VisitListExpression(aggregateFunctionExpression.Arguments); if (!ReferenceEquals(arguments, aggregateFunctionExpression.Arguments)) { return(ExpressionFactory.MakeAggregateFunction(aggregateFunctionExpression.AggregateFunctionExpressionType, arguments.First())); } return(aggregateFunctionExpression); }
/// <summary> /// Creates a <see cref="DbAggregateFunctionExpression"/>. /// </summary> /// <param name="aggregateFunctionExpressionType">The <see cref="DbAggregateFunctionExpressionType"/> that specifies the type of aggregate expression to create.</param> /// <param name="target">The <see cref="DbExpression"/> that the aggregate function operates on.</param> /// <returns>A <see cref="DbAggregateFunctionExpression"/> instance.</returns> public DbAggregateFunctionExpression MakeAggregateFunction(DbAggregateFunctionExpressionType aggregateFunctionExpressionType, DbExpression target) { var aggregateExpression = new DbAggregateFunctionExpression(aggregateFunctionExpressionType, new[] { target }); return aggregateExpression; }
/// <summary> /// Translates the <paramref name="aggregateFunctionExpression"/> into a string representation. /// </summary> /// <param name="aggregateFunctionExpression">The <see cref="DbAggregateFunctionExpression"/> to translate.</param> /// <returns><see cref="string"/></returns> protected override DbExpression VisitAggregateFunctionExpression(DbAggregateFunctionExpression aggregateFunctionExpression) { var functionName = GetAggregateFunctionBody(aggregateFunctionExpression.AggregateFunctionExpressionType); var functionSyntax = CreateDefaultFunctionSyntax(functionName, aggregateFunctionExpression.Arguments); return functionSyntax; }
/// <summary> /// Translates the <paramref name="aggregateFunctionExpression"/> into a string representation. /// </summary> /// <param name="aggregateFunctionExpression">The <see cref="DbAggregateFunctionExpression"/> to translate.</param> /// <returns><see cref="DbExpression"/></returns> protected virtual DbExpression VisitAggregateFunctionExpression(DbAggregateFunctionExpression aggregateFunctionExpression) { var arguments = VisitListExpression(aggregateFunctionExpression.Arguments); if (!ReferenceEquals(arguments, aggregateFunctionExpression.Arguments)) return ExpressionFactory.MakeAggregateFunction(aggregateFunctionExpression.AggregateFunctionExpressionType, arguments.First()); return aggregateFunctionExpression; }