Update 人大金仓[MySql,SqlServer]

This commit is contained in:
sunkaixuan
2024-09-06 10:11:27 +08:00
parent cf7cffc007
commit 7cf3e6829a

View File

@@ -132,7 +132,8 @@ namespace SqlSugar
{ {
var columnInfo = tableColumnList.FirstOrDefault(x => x.DbColumnName.Equals(it.DbColumnName, StringComparison.OrdinalIgnoreCase)); var columnInfo = tableColumnList.FirstOrDefault(x => x.DbColumnName.Equals(it.DbColumnName, StringComparison.OrdinalIgnoreCase));
var dbType = columnInfo?.DataType; var dbType = columnInfo?.DataType;
if (dbType == null) { if (dbType == null)
{
var typeName = it.PropertyType.Name.ToLower(); var typeName = it.PropertyType.Name.ToLower();
if (typeName == "int32") if (typeName == "int32")
typeName = "int"; typeName = "int";
@@ -140,7 +141,7 @@ namespace SqlSugar
typeName = "long"; typeName = "long";
if (typeName == "int16") if (typeName == "int16")
typeName = "short"; typeName = "short";
if (typeName == "boolean") if (typeName == "boolean")
typeName = "bool"; typeName = "bool";
var isAnyType = PostgreSQLDbBind.MappingTypesConst.Where(x => x.Value.ToString().ToLower() == typeName).Any(); var isAnyType = PostgreSQLDbBind.MappingTypesConst.Where(x => x.Value.ToString().ToLower() == typeName).Any();
@@ -148,11 +149,26 @@ namespace SqlSugar
{ {
dbType = PostgreSQLDbBind.MappingTypesConst.Where(x => x.Value.ToString().ToLower() == typeName).FirstOrDefault().Key; dbType = PostgreSQLDbBind.MappingTypesConst.Where(x => x.Value.ToString().ToLower() == typeName).FirstOrDefault().Key;
} }
else { else
{
dbType = "varchar"; dbType = "varchar";
} }
} }
return string.Format("CAST({0} AS {1})", base.GetDbColumn(it,FormatValue(it.Value)), dbType); if (IsMySqlModel())
{
if (dbType == "numeric")
{
dbType = "numeric(18,6)";
}
}
if (IsSqlServerModel())
{
if (dbType == "varchar")
{
dbType = "varchar(max)";
}
}
return string.Format("CAST({0} AS {1})", base.GetDbColumn(it, FormatValue(it.Value)), dbType);
})) + ")"); })) + ")");
++i; ++i;
@@ -186,6 +202,16 @@ namespace SqlSugar
return batchUpdateSql.ToString(); return batchUpdateSql.ToString();
} }
private bool IsSqlServerModel()
{
return this.Context?.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.SqlServer;
}
private bool IsMySqlModel()
{
return this.Context?.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.MySql;
}
private StringBuilder GetBatchUpdateSql(StringBuilder batchUpdateSql) private StringBuilder GetBatchUpdateSql(StringBuilder batchUpdateSql)
{ {
if (ReSetValueBySqlExpListType == null && ReSetValueBySqlExpList != null) if (ReSetValueBySqlExpListType == null && ReSetValueBySqlExpList != null)