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)
{
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)
{

View File

@ -196,7 +196,14 @@ namespace SqlSugar
}
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)
{

View File

@ -304,7 +304,14 @@ namespace SqlSugar
}
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)
{

View File

@ -572,7 +572,14 @@ namespace SqlSugar
};
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)
{

View File

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

View File

@ -57,7 +57,14 @@ namespace SqlSugar
}
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)
{

View File

@ -119,7 +119,14 @@ namespace SqlSugar
}
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)
{

View File

@ -99,7 +99,14 @@ namespace SqlSugar
}
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)
{

View File

@ -61,7 +61,14 @@ namespace SqlSugar
}
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)
{