diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs index ab4b7c587..629dccb6b 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider_Condition.cs @@ -373,7 +373,14 @@ namespace SqlSugar } else { - inValue1 = ("(" + inArray.Select(it => it == "" ? "null" : it).Distinct().ToArray().ToJoinSqlInVals() + ")"); + if (item.CSharpTypeName.EqualCase("nstring")) + { + inValue1 = ("(" + inArray.Select(it => it == "" ? "null" : it).Distinct().ToArray().ToJoinSqlInValsByVarchar() + ")"); + } + else + { + inValue1 = ("(" + inArray.Select(it => it == "" ? "null" : it).Distinct().ToArray().ToJoinSqlInVals() + ")"); + } } return inValue1; diff --git a/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs b/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs index 00d39e0d2..e148bcb45 100644 --- a/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs +++ b/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs @@ -18,6 +18,17 @@ namespace SqlSugar return string.Join(",", array.Where(c => c != null).Select(it => it.ToSqlValue())); } } + public static string ToJoinSqlInValsByVarchar(this T[] array) + { + if (array == null || array.Length == 0) + { + return ToSqlValue(string.Empty); + } + else + { + return string.Join(",", array.Where(c => c != null).Select(it => "N"+it.ToSqlValue())); + } + } public static string ToJoinSqlInValsN(this T[] array) { if (array == null || array.Length == 0)