From bc209861719260c8942ce4bcf12859c1b1a2ea0c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 21 Apr 2022 15:12:30 +0800 Subject: [PATCH] Update conditional query --- .../Abstract/SqlBuilderProvider/SqlBuilderProvider.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs index e0504e160..cbb03c6b2 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs @@ -188,7 +188,15 @@ namespace SqlSugar break; case ConditionalType.In: if (item.FieldValue == null) item.FieldValue = string.Empty; - var inValue1 = ("(" + item.FieldValue.Split(',').ToJoinSqlInVals() + ")"); + var inValue1 = string.Empty; + if (item.CSharpTypeName.EqualCase("string")) + { + inValue1 = ("(" + item.FieldValue.Split(',').Distinct().ToArray().ToJoinSqlInVals() + ")"); + } + else + { + inValue1 = ("(" + item.FieldValue.Split(',').Select(it=>it==""?"null":it).Distinct().ToArray().ToJoinSqlInVals() + ")"); + } if (item.CSharpTypeName.HasValue()&&UtilMethods.IsNumber(item.CSharpTypeName)) { inValue1= inValue1.Replace("'","");