Enumerations support configuration

This commit is contained in:
sunkaixuna 2021-12-29 20:12:20 +08:00
parent 26c1a9ee49
commit 2792ebfbe6
9 changed files with 65 additions and 8 deletions

View File

@ -647,7 +647,14 @@ namespace SqlSugar
} }
if (columnInfo.PropertyType.IsEnum()&& columnInfo.Value!=null) if (columnInfo.PropertyType.IsEnum()&& columnInfo.Value!=null)
{ {
columnInfo.Value = Convert.ToInt64(columnInfo.Value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
columnInfo.Value = columnInfo.Value.ToString();
}
else
{
columnInfo.Value = Convert.ToInt64(columnInfo.Value);
}
} }
if (column.IsJson&& columnInfo.Value!=null) if (column.IsJson&& columnInfo.Value!=null)
{ {

View File

@ -196,7 +196,14 @@ namespace SqlSugar
} }
else if (type.IsEnum()) else if (type.IsEnum())
{ {
return Convert.ToInt64(value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
return value.ToString();
}
else
{
return Convert.ToInt64(value);
}
} }
else if (type == UtilConstants.BoolType) else if (type == UtilConstants.BoolType)
{ {

View File

@ -304,7 +304,14 @@ namespace SqlSugar
} }
else if (type.IsEnum()) else if (type.IsEnum())
{ {
return Convert.ToInt64(value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
return value.ToString();
}
else
{
return Convert.ToInt64(value);
}
} }
else if (type == UtilConstants.BoolType) else if (type == UtilConstants.BoolType)
{ {

View File

@ -572,7 +572,14 @@ namespace SqlSugar
}; };
if (columnInfo.PropertyType.IsEnum()&& columnInfo.Value!=null) if (columnInfo.PropertyType.IsEnum()&& columnInfo.Value!=null)
{ {
columnInfo.Value = Convert.ToInt64(columnInfo.Value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
columnInfo.Value = columnInfo.Value.ToString();
}
else
{
columnInfo.Value = Convert.ToInt64(columnInfo.Value);
}
} }
if (column.IsJson) if (column.IsJson)
{ {

View File

@ -13,5 +13,6 @@ namespace SqlSugar
public bool DisableNvarchar { get; set; } public bool DisableNvarchar { get; set; }
public bool PgSqlIsAutoToLower = true; public bool PgSqlIsAutoToLower = true;
public int DefaultCacheDurationInSeconds { get; set; } public int DefaultCacheDurationInSeconds { get; set; }
public bool? TableEnumIsString { get; set; }
} }
} }

View File

@ -57,7 +57,14 @@ namespace SqlSugar
} }
else if (type.IsEnum()) else if (type.IsEnum())
{ {
return Convert.ToInt64(value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
return value.ToString();
}
else
{
return Convert.ToInt64(value);
}
} }
else if (type == UtilConstants.BoolType) else if (type == UtilConstants.BoolType)
{ {

View File

@ -119,7 +119,14 @@ namespace SqlSugar
} }
else if (type.IsEnum()) else if (type.IsEnum())
{ {
return Convert.ToInt64(value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
return value.ToString();
}
else
{
return Convert.ToInt64(value);
}
} }
else if (type == UtilConstants.BoolType) else if (type == UtilConstants.BoolType)
{ {

View File

@ -99,7 +99,14 @@ namespace SqlSugar
} }
else if (type.IsEnum()) else if (type.IsEnum())
{ {
return Convert.ToInt64(value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
return value.ToString();
}
else
{
return Convert.ToInt64(value);
}
} }
else if (type == UtilConstants.ByteArrayType) else if (type == UtilConstants.ByteArrayType)
{ {

View File

@ -61,7 +61,14 @@ namespace SqlSugar
} }
else if (type.IsEnum()) else if (type.IsEnum())
{ {
return Convert.ToInt64(value); if (this.Context.CurrentConnectionConfig.MoreSettings?.TableEnumIsString == true)
{
return value.ToString();
}
else
{
return Convert.ToInt64(value);
}
} }
else if (type == UtilConstants.ByteArrayType) else if (type == UtilConstants.ByteArrayType)
{ {