Compatible Npgsql do not support uint type

This commit is contained in:
sunkaixuan
2023-06-21 20:34:26 +08:00
parent b46b1d24ea
commit da21db7d2a
2 changed files with 16 additions and 2 deletions

View File

@@ -235,7 +235,7 @@ namespace SqlSugar
{
addItem.DbType = System.Data.DbType.Date;
}
if (addItem.Value == null && dataType.IsIn(UtilConstants.FloatType, UtilConstants.IntType, UtilConstants.LongType, UtilConstants.DecType, UtilConstants.DobType))
if (addItem.Value == null && dataType.IsIn(UtilConstants.ULongType,UtilConstants.UIntType,UtilConstants.FloatType, UtilConstants.IntType, UtilConstants.LongType, UtilConstants.DecType, UtilConstants.DobType))
{
addItem.DbType = System.Data.DbType.Int32;
}

View File

@@ -98,6 +98,8 @@ namespace SqlSugar
var isVarchar = this.Context.IsVarchar();
foreach (var parameter in parameters)
{
//No support unumber
ConvertUNumber(parameter);
if (parameter.Value == null) parameter.Value = DBNull.Value;
if (parameter.Value is System.Data.SqlTypes.SqlDateTime && parameter.DbType == System.Data.DbType.AnsiString)
{
@@ -139,7 +141,7 @@ namespace SqlSugar
sqlParameter.DbType = System.Data.DbType.DateTime;
}
++index;
if (parameter.CustomDbType != null&& parameter.CustomDbType is NpgsqlDbType)
if (parameter.CustomDbType != null&& parameter.CustomDbType is NpgsqlDbType)
{
sqlParameter.NpgsqlDbType =((NpgsqlDbType)parameter.CustomDbType);
}
@@ -147,6 +149,18 @@ namespace SqlSugar
return result;
}
private static void ConvertUNumber(SugarParameter parameter)
{
if (parameter.DbType == System.Data.DbType.UInt32)
{
parameter.DbType = System.Data.DbType.Int32;
}
else if (parameter.DbType == System.Data.DbType.UInt64)
{
parameter.DbType = System.Data.DbType.UInt64;
}
}
private static void Array(SugarParameter parameter, NpgsqlParameter sqlParameter)
{
// sqlParameter.Value = this.Context.Utilities.SerializeObject(sqlParameter.Value);