Update group by sqlserver

This commit is contained in:
sunkaixuan
2025-07-19 10:36:05 +08:00
parent ec29b5bd72
commit 8102b4a2e6

View File

@@ -1770,6 +1770,30 @@ namespace SqlSugar
var groupBySql = UtilMethods.GetSqlString(DbType.SqlServer, result, newParas.ToArray()); var groupBySql = UtilMethods.GetSqlString(DbType.SqlServer, result, newParas.ToArray());
this.QueryBuilder.GroupBySql = groupBySql; this.QueryBuilder.GroupBySql = groupBySql;
this.QueryBuilder.GroupBySqlOld = result; this.QueryBuilder.GroupBySqlOld = result;
if (expression is NewExpression s && s.Arguments.Count > 1)
{
foreach (var item in s.Arguments)
{
if (ExpressionTool.GetParameters(item).Count > 0)
{
var q = this.Context.Queryable<object>().QueryBuilder;
var itemObj= q.GetExpressionValue(item, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple).GetResultString();
if (q.Parameters.Any())
{
var itemGroupBySql = UtilMethods.GetSqlString(DbType.SqlServer, itemObj, q.Parameters.ToArray());
this.QueryBuilder.GroupBySql = itemGroupBySql;
this.QueryBuilder.GroupBySqlOld = itemGroupBySql;
this.GroupBy(itemGroupBySql);
}
else
{
this.GroupBy(itemObj);
}
}
}
return this;
}
GroupBy(result); GroupBy(result);
} }
else else