From 7d0326cafd5d7671ef73b4d4e505bf0cdded021b Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 17 Mar 2019 13:38:19 +0800 Subject: [PATCH] Support NewArrayExpession --- Src/Asp.Net/SqlServerTest/Demos/1_Query.cs | 2 + .../ResolveItems/NewArrayExpessionResolve.cs | 46 +++++++++++++++++- .../SqliteTest/DataBase/SqlSugar4xTest.sqlite | Bin 618496 -> 618496 bytes 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs index 7cc66f2c4..a5321d6c1 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs @@ -434,6 +434,8 @@ namespace OrmTest.Demo var test39 = db.Queryable().Where(it => it.Id == 1 && (it.Id==1?true:false)).ToList(); var test40 = db.Queryable().Where(it => it.Id==1&&Convert.ToBoolean("true")).ToList(); var test41 = db.Queryable().Where(it => it.Id==((it.Id==1?2:3)==2?1:2)).ToList(); + var test42 = db.Queryable().Where(it => new int[] { 1, 2, 3 }.Contains(1)).ToList(); + var test43 = db.Queryable().Where(it => new int[] { 1, 2, 3 }.Contains(it.Id)).ToList(); } public static void Page() { diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/NewArrayExpessionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/NewArrayExpessionResolve.cs index 5d640113c..2ad08a93c 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/NewArrayExpessionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/NewArrayExpessionResolve.cs @@ -20,7 +20,51 @@ namespace SqlSugar case ResolveExpressType.SelectMultiple: case ResolveExpressType.FieldSingle: case ResolveExpressType.FieldMultiple: - Check.ThrowNotSupportedException("NewArrayExpression"); + try + { + var value = ExpressionTool.DynamicInvoke(expression); + var isLeft = parameter.IsLeft; + var baseParameter = parameter.BaseParameter; + var isSetTempData = baseParameter.CommonTempData.HasValue() && baseParameter.CommonTempData.Equals(CommonTempDataType.Result); + if (isSetTempData) + { + baseParameter.CommonTempData = value; + } + else + { + var parentIsBinary = parameter.BaseParameter.CurrentExpression is BinaryExpression; + var parentIsRoot = parameter.BaseParameter.CurrentExpression is LambdaExpression; + var isBool = value != null && value.GetType() == UtilConstants.BoolType; + if (parentIsRoot && isBool) + { + this.Context.Result.Append(value.ObjToBool() ? this.Context.DbMehtods.True() : this.Context.DbMehtods.False()); + break; + } + if (parentIsBinary && isBool) + { + var isLogicOperator = + parameter.BaseExpression.NodeType == ExpressionType.And || + parameter.BaseExpression.NodeType == ExpressionType.AndAlso || + parameter.BaseExpression.NodeType == ExpressionType.Or || + parameter.BaseExpression.NodeType == ExpressionType.OrElse; + if (isLogicOperator) + { + AppendMember(parameter, isLeft, (value.ObjToBool() ? this.Context.DbMehtods.True() : this.Context.DbMehtods.False())); + break; + } + } + if (value == null && parentIsBinary) + { + parameter.BaseParameter.ValueIsNull = true; + value = this.Context.DbMehtods.Null(); + } + AppendValue(parameter, isLeft, value); + } + } + catch (Exception) + { + Check.ThrowNotSupportedException("NewArrayExpression"); + } break; case ResolveExpressType.ArraySingle: foreach (var item in expression.Expressions) diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite index e063c0f263f0b97816d170fad068ae0b31c3c231..f2f07cf5c325ede2811c5953981c8989dffee9ef 100644 GIT binary patch literal 618496 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