Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit df72109

Browse files
committed
Use StringSerializer for serializing enums
1 parent ab64e16 commit df72109

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

src/ServiceStack.OrmLite/OrmLiteDialectProviderBase.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -752,11 +752,9 @@ protected virtual object GetValue<T>(FieldDefinition fieldDef, object obj)
752752
if (fieldDef.FieldType.IsEnum)
753753
{
754754
var enumValue = OrmLiteConfig.DialectProvider.StringSerializer.SerializeToString(value);
755-
return !string.IsNullOrEmpty(enumValue)
755+
return enumValue != null
756756
? enumValue.Trim('"')
757-
: fieldDef.IsNullable
758-
? null
759-
: fieldDef.FieldType.GetDefaultValue();
757+
: null;
760758
}
761759
if (fieldDef.FieldType == typeof(TimeSpan))
762760
{
@@ -1368,6 +1366,14 @@ public virtual string GetQuotedValue(object value, Type fieldType)
13681366
if (fieldType == typeof(TimeSpan))
13691367
return ((TimeSpan)value).Ticks.ToString(CultureInfo.InvariantCulture);
13701368

1369+
if (fieldType.IsEnum)
1370+
{
1371+
var enumValue = dialectProvider.StringSerializer.SerializeToString(value);
1372+
return enumValue != null
1373+
? dialectProvider.GetQuotedValue(enumValue.Trim('"'))
1374+
: null;
1375+
}
1376+
13711377
return ShouldQuoteValue(fieldType)
13721378
? dialectProvider.GetQuotedValue(value.ToString())
13731379
: value.ToString();

tests/ServiceStack.OrmLite.Tests/OrmLiteTestBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ protected void CreateNewDatabase()
7070
ConnectionString = GetFileConnectionString();
7171
}
7272

73-
public Dialect Dialect = Dialect.Sqlite;
73+
public Dialect Dialect = Dialect.SqlServer;
7474

7575
[TestFixtureSetUp]
7676
public void TestFixtureSetUp()

0 commit comments

Comments
 (0)