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

Commit 1a85504

Browse files
committed
Fix Oracle problems shown up by escaping serialized complex types change.
1 parent 4a2f109 commit 1a85504

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/ServiceStack.OrmLite.Oracle/OracleOrmLiteDialectProvider.cs

+8-6
Original file line numberDiff line numberDiff line change
@@ -350,10 +350,7 @@ public override void SetParameterValues<T>(IDbCommand dbCmd, object obj)
350350

351351
public override void SetParameterValue<T>(FieldDefinition fieldDef, IDataParameter p, object obj)
352352
{
353-
var knownType = DbTypeMap.ColumnDbTypeMap.ContainsKey(fieldDef.ColumnType);
354-
var value = knownType
355-
? GetValueOrDbNull<T>(fieldDef, obj)
356-
: GetQuotedValueOrDbNull<T>(fieldDef, obj);
353+
var value = GetValueOrDbNull<T>(fieldDef, obj);
357354

358355
if (fieldDef.ColumnType == typeof(DateTimeOffset) || fieldDef.ColumnType == typeof(DateTimeOffset?))
359356
{
@@ -370,9 +367,14 @@ protected override object GetValue<T>(FieldDefinition fieldDef, object obj)
370367

371368
if (value != null)
372369
{
373-
if (fieldDef.ColumnType == typeof(object))
370+
if (fieldDef.IsRefType)
374371
{
375-
return value.ToJsv();
372+
//Let ADO.NET providers handle byte[]
373+
if (fieldDef.FieldType == typeof(byte[]))
374+
{
375+
return value;
376+
}
377+
return OrmLiteConfig.DialectProvider.StringSerializer.SerializeToString(value);
376378
}
377379
if (fieldDef.FieldType == typeof(TimeSpan))
378380
{

0 commit comments

Comments
 (0)