protected override ISqlBuilder GroupBy(MemberExpression expression, ISqlBuilder sqlBuilder) { var tableAlias = GetTableAlias(expression, sqlBuilder); var columnAlias = $"{tableAlias}{sqlBuilder.Formate(expression.Member.Name)} "; sqlBuilder.AddCalculateColumn(columnAlias); sqlBuilder.AppendGroupSql(columnAlias); return(sqlBuilder); }
protected override ISqlBuilder GroupBy(NewExpression expression, ISqlBuilder sqlBuilder) { for (int i = 0; i < expression.Arguments.Count; i++) { var memberExp = expression.Arguments[0] as MemberExpression; var memberInfo = expression.Members[0]; sqlBuilder.AddCalculateColumn($"{sqlBuilder.Formate(memberExp.Member.Name)} {sqlBuilder.Formate(memberInfo.Name)}"); sqlBuilder.AppendGroupSql($"{sqlBuilder.Formate(memberExp.Member.Name)}"); } return(sqlBuilder); }