static string AddUnaryCondition(ISqlSyntax sqlFragmentBuilder, string input, UnarySqlOperator condition, bool hasOneItemOnly) { switch (condition) { case UnarySqlOperator.AverageFunction: return(Func(sqlFragmentBuilder.AverageFunctionName)); case UnarySqlOperator.CountFunction: return(Func(sqlFragmentBuilder.CountFunctionName)); case UnarySqlOperator.MaxFunction: return(Func(sqlFragmentBuilder.MaxFunctionName)); case UnarySqlOperator.MinFunction: return(Func(sqlFragmentBuilder.MinFunctionName)); case UnarySqlOperator.SumFunction: return(Func(sqlFragmentBuilder.SumFunctionName)); default: throw new InvalidOperationException($"Cannot build sql expression for expression type {condition}."); } string Func(string functionName) => $"{functionName}({input})"; }
public UnarySqlExpression(ISqlExpression <TElement> first, UnarySqlOperator op) { First = first; Operator = op; }