Update no parameter

This commit is contained in:
sunkaixuan
2025-02-12 11:55:48 +08:00
parent 6fe64b51dc
commit d2c529ec8b
2 changed files with 42 additions and 15 deletions

View File

@@ -309,7 +309,7 @@ namespace SqlSugar
} }
return columnInfo.InsertSql; return columnInfo.InsertSql;
} }
else if (columnInfo.SqlParameterDbType is Type && (Type)columnInfo.SqlParameterDbType == UtilConstants.SqlConvertType) else if (columnInfo.SqlParameterDbType is Type && IsNoParameterConvert(columnInfo))
{ {
var type = columnInfo.SqlParameterDbType as Type; var type = columnInfo.SqlParameterDbType as Type;
var ParameterConverter = type.GetMethod("ParameterConverter").MakeGenericMethod(typeof(string)); var ParameterConverter = type.GetMethod("ParameterConverter").MakeGenericMethod(typeof(string));
@@ -376,6 +376,19 @@ namespace SqlSugar
} }
} }
private static bool IsNoParameterConvert(DbColumnInfo columnInfo)
{
if (columnInfo.SqlParameterDbType is Type t)
{
var isAssignableFrom = typeof(DbConvert.NoParameterCommonPropertyConvert).IsAssignableFrom(t);
if (isAssignableFrom)
{
return isAssignableFrom;
}
}
return (Type)columnInfo.SqlParameterDbType == UtilConstants.SqlConvertType;
}
#endregion #endregion
} }
} }

View File

@@ -501,7 +501,7 @@ namespace SqlSugar
} }
return columnInfo.UpdateSql; return columnInfo.UpdateSql;
} }
else if (columnInfo.SqlParameterDbType is Type && (Type)columnInfo.SqlParameterDbType == UtilConstants.SqlConvertType) else if (columnInfo.SqlParameterDbType is Type && IsNoParameterConvert(columnInfo))
{ {
var type = columnInfo.SqlParameterDbType as Type; var type = columnInfo.SqlParameterDbType as Type;
var ParameterConverter = type.GetMethod("ParameterConverter").MakeGenericMethod(typeof(string)); var ParameterConverter = type.GetMethod("ParameterConverter").MakeGenericMethod(typeof(string));
@@ -564,6 +564,20 @@ namespace SqlSugar
return name + ""; return name + "";
} }
} }
private static bool IsNoParameterConvert(DbColumnInfo columnInfo)
{
if (columnInfo.SqlParameterDbType is Type t)
{
var isAssignableFrom = typeof(DbConvert.NoParameterCommonPropertyConvert).IsAssignableFrom(t);
if (isAssignableFrom)
{
return isAssignableFrom;
}
}
return (Type)columnInfo.SqlParameterDbType == UtilConstants.SqlConvertType;
}
private bool IsSingleSetExp(DbColumnInfo columnInfo) private bool IsSingleSetExp(DbColumnInfo columnInfo)
{ {
return this.ReSetValueBySqlExpList != null && return this.ReSetValueBySqlExpList != null &&