Browse Source

Synchronization code

pull/31/head
sunkaixuan 2 years ago
parent
commit
8945815a4e
  1. 25
      Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Items/SubGroupBy.cs

25
Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Items/SubGroupBy.cs

@ -44,10 +44,31 @@ namespace SqlSugar
if ((argExp as LambdaExpression).Body is NewExpression) {
type = ResolveExpressType.ArraySingle;
}
var result = "GROUP BY " + SubTools.GetMethodValue(this.Context, argExp,type);
var result = "GROUP BY ";
if (this.Context.JoinIndex == 0)
{
result = result + SubTools.GetMethodValue(this.Context, argExp, type);
}
else
{
if (type == ResolveExpressType.ArraySingle)
{
type= ResolveExpressType.ArrayMultiple;
}
else if (type == ResolveExpressType.FieldSingle)
{
type = ResolveExpressType.FieldMultiple;
}
else if (type == ResolveExpressType.WhereSingle)
{
type = ResolveExpressType.WhereMultiple;
}
result = result + SubTools.GetMethodValueSubJoin(this.Context, argExp, type);
}
result = result.TrimEnd(',');
var selfParameterName = this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters.First().Name) + UtilConstants.Dot;
result = result.Replace(selfParameterName, SubTools.GetSubReplace(this.Context));
if (this.Context.JoinIndex == 0)
result = result.Replace(selfParameterName, SubTools.GetSubReplace(this.Context));
return result;
}
}

Loading…
Cancel
Save