Synchronization code

This commit is contained in:
sunkaixuan
2022-09-18 15:02:47 +08:00
parent a97b49e06b
commit ed8f6df05e
2 changed files with 24 additions and 7 deletions

View File

@@ -529,11 +529,14 @@ namespace SqlSugar
{ {
//var x=method.Arguments[1]; //var x=method.Arguments[1];
var conditionals = ExpressionTool.GetExpressionValue(method.Arguments[1]) as List<IConditionalModel>; var conditionals = ExpressionTool.GetExpressionValue(method.Arguments[1]) as List<IConditionalModel>;
if (conditionals.Count > 0)
{
var whereObj = queryable.QueryBuilder.Builder.ConditionalModelToSql(conditionals); var whereObj = queryable.QueryBuilder.Builder.ConditionalModelToSql(conditionals);
where.Add(whereObj.Key); where.Add(whereObj.Key);
if(whereObj.Value!=null) if(whereObj.Value!=null)
result.Parameters.AddRange(whereObj.Value); result.Parameters.AddRange(whereObj.Value);
} }
}
else else
{ {
CheckHasRootShortName(method.Arguments[0], method.Arguments[1]); CheckHasRootShortName(method.Arguments[0], method.Arguments[1]);

View File

@@ -2621,9 +2621,23 @@ namespace SqlSugar
} }
else if ((expression as LambdaExpression).Body is NewExpression) else if ((expression as LambdaExpression).Body is NewExpression)
{ {
var lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.ArraySingle : ResolveExpressType.ArrayMultiple); var newExp = (expression as LambdaExpression).Body as NewExpression;
var items = lamResult.GetResultString().Split(',').Where(it => it.HasValue()).Select(it => it + UtilConstants.Space + type.ToString().ToUpper()).ToList(); var result = "";
OrderBy(string.Join(",", items)); foreach (var item in newExp.Arguments)
{
if (item is MemberExpression)
{
result +=
QueryBuilder.GetExpressionValue(item, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple).GetResultString() + ",";
}
else
{
result +=
QueryBuilder.GetExpressionValue(item, isSingle ? ResolveExpressType.WhereSingle : ResolveExpressType.WhereMultiple).GetResultString() + ",";
}
}
result = result.TrimEnd(',');
OrderBy(result);
return this; return this;
} }
else else