diff --git a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs index bd610cda2..28ad0ed62 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableHelper.cs @@ -119,6 +119,7 @@ namespace SqlSugar if (item.IsJson) { paramters.IsJson = true; + SqlBuilder.ChangeJsonType(paramters); } if (item.IsArray) { diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs index fb538a0f6..3d438b815 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs @@ -28,6 +28,10 @@ namespace SqlSugar #endregion #region abstract Methods + public virtual void ChangeJsonType(SugarParameter paramter) + { + + } public virtual string GetTranslationTableName(string name) { Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name")); diff --git a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs index c879ac94c..681087cb3 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableHelper.cs @@ -408,6 +408,7 @@ namespace SqlSugar if (item.IsJson) { parameter.IsJson = true; + SqlBuilder.ChangeJsonType(paramters); } if (item.IsArray) { diff --git a/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs b/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs index 4a17b8ac0..9acb837a1 100644 --- a/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Interface/ISqlBuilder.cs @@ -29,6 +29,7 @@ namespace SqlSugar string SqlTranslationRight { get; } string SqlSelectAll { get; } + void ChangeJsonType(SugarParameter paramter); string GetTranslationTableName(string name); string GetTranslationColumnName(string entityName, string propertyName); string GetTranslationColumnName(string propertyName); diff --git a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBuilder.cs index 116715e25..593632830 100644 --- a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBuilder.cs @@ -24,6 +24,12 @@ namespace SqlSugar } return sql; } - + public override void ChangeJsonType(SugarParameter paramter) + { + if (paramter.DbType == System.Data.DbType.AnsiString) + { + paramter.DbType = System.Data.DbType.String; + } + } } }