mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-24 16:18:47 +08:00
Update exp to sql
This commit is contained in:
parent
f66d8c7e71
commit
d69a10c786
@ -53,7 +53,7 @@ namespace SqlSugar
|
|||||||
if (this.Context.JoinIndex == 0)
|
if (this.Context.JoinIndex == 0)
|
||||||
result = SubTools.GetMethodValue(this.Context, exp.Arguments[0], ResolveExpressType.FieldSingle);
|
result = SubTools.GetMethodValue(this.Context, exp.Arguments[0], ResolveExpressType.FieldSingle);
|
||||||
else
|
else
|
||||||
result = SubTools.GetMethodValue(this.Context, exp.Arguments[0], ResolveExpressType.FieldMultiple);
|
result = SubTools.GetMethodValueSubJoin(this.Context, exp.Arguments[0], ResolveExpressType.FieldMultiple);
|
||||||
|
|
||||||
SetShortName(exp, result);
|
SetShortName(exp, result);
|
||||||
|
|
||||||
|
@ -69,5 +69,25 @@ namespace SqlSugar
|
|||||||
context.Parameters.AddRange(newContext.Parameters);
|
context.Parameters.AddRange(newContext.Parameters);
|
||||||
return newContext.Result.GetResultString();
|
return newContext.Result.GetResultString();
|
||||||
}
|
}
|
||||||
|
public static string GetMethodValueSubJoin(ExpressionContext context, Expression item, ResolveExpressType type)
|
||||||
|
{
|
||||||
|
var newContext = context.GetCopyContext();
|
||||||
|
newContext.MappingColumns = context.MappingColumns;
|
||||||
|
newContext.MappingTables = context.MappingTables;
|
||||||
|
newContext.InitMappingInfo = context.InitMappingInfo;
|
||||||
|
newContext.RefreshMapping = context.RefreshMapping;
|
||||||
|
newContext.IgnoreComumnList = context.IgnoreComumnList;
|
||||||
|
newContext.SqlFuncServices = context.SqlFuncServices;
|
||||||
|
if (type == ResolveExpressType.WhereMultiple||type==ResolveExpressType.FieldMultiple)
|
||||||
|
{
|
||||||
|
newContext.IsSingle = false;
|
||||||
|
}
|
||||||
|
newContext.Resolve(item, type);
|
||||||
|
context.Index = newContext.Index;
|
||||||
|
context.ParameterIndex = newContext.ParameterIndex;
|
||||||
|
if (newContext.Parameters.HasValue())
|
||||||
|
context.Parameters.AddRange(newContext.Parameters);
|
||||||
|
return newContext.Result.GetResultString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user