diff --git a/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/ClickHouseProvider.cs b/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/ClickHouseProvider.cs index 6d3ddcb4b..f52956ac6 100644 --- a/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/ClickHouseProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/ClickHouseProvider.cs @@ -166,7 +166,18 @@ namespace SqlSugar.ClickHouse } else { + var isByteArray = false; + if (param.Value is byte[] bs) + { + isByteArray = true; + param.Value = bs.Select(it=>Convert.ToInt32(it)); + } sql = sql.Replace(param.ParameterName, this.Context.Utilities.SerializeObject(param.Value).Replace("\"","'")); + if (isByteArray) + { + param.Value = DBNull.Value; + param.DbType = System.Data.DbType.String; + } } } else if (dbTypeString == "DateTime" && param.Value == DBNull.Value) diff --git a/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/DbBind/ClickHouseDbBind.cs b/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/DbBind/ClickHouseDbBind.cs index fdfb3bab2..f13db2bd1 100644 --- a/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/DbBind/ClickHouseDbBind.cs +++ b/Src/Asp.NetCore2/SqlSugar.ClickHouseCore/ClickHouse/DbBind/ClickHouseDbBind.cs @@ -36,6 +36,10 @@ namespace SqlSugar.ClickHouse var dbTypeName2 = dbTypeName.TrimStart('_'); return MappingTypes.Where(it => it.Value.ToString().ToLower() == dbTypeName2 || it.Key.ToLower() == dbTypeName2).Select(it => it.Value + "[]").First(); } + if (dbTypeName == "array") + { + return "object"; + } Check.ThrowNotSupportedException(string.Format(" \"{0}\" Type NotSupported, DbBindProvider.GetPropertyTypeName error.", dbTypeName)); return String.Empty; }