@@ -682,11 +682,7 @@ public virtual void SetParameterValues<T>(IDbCommand dbCmd, object obj)
682682
683683 public virtual void SetParameterValue < T > ( FieldDefinition fieldDef , IDataParameter p , object obj )
684684 {
685- var knownType = DbTypeMap . ColumnDbTypeMap . ContainsKey ( fieldDef . ColumnType ) ;
686- var value = knownType
687- ? GetValueOrDbNull < T > ( fieldDef , obj )
688- : GetQuotedValueOrDbNull < T > ( fieldDef , obj ) ;
689-
685+ var value = GetValueOrDbNull < T > ( fieldDef , obj ) ;
690686 p . Value = value ;
691687 }
692688
@@ -698,9 +694,14 @@ protected virtual object GetValue<T>(FieldDefinition fieldDef, object obj)
698694
699695 if ( value != null )
700696 {
701- if ( fieldDef . ColumnType == typeof ( object ) )
697+ if ( fieldDef . IsRefType )
702698 {
703- return value . ToJsv ( ) ;
699+ //Let ADO.NET providers handle byte[]
700+ if ( fieldDef . FieldType == typeof ( byte [ ] ) )
701+ {
702+ return value ;
703+ }
704+ return OrmLiteConfig . DialectProvider . StringSerializer . SerializeToString ( value ) ;
704705 }
705706 if ( fieldDef . FieldType == typeof ( TimeSpan ) )
706707 {
@@ -1250,7 +1251,7 @@ public virtual string GetQuotedValue(object value, Type fieldType)
12501251 if ( value == null ) return "NULL" ;
12511252
12521253 var dialectProvider = OrmLiteConfig . DialectProvider ;
1253- if ( ( ! fieldType . UnderlyingSystemType . IsValueType || JsConfig . TreatValueAsRefTypes . Contains ( fieldType . IsGeneric ( ) ? fieldType . GenericTypeDefinition ( ) : fieldType ) ) && fieldType != typeof ( string ) )
1254+ if ( fieldType . IsRefType ( ) )
12541255 {
12551256 return dialectProvider . GetQuotedValue ( dialectProvider . StringSerializer . SerializeToString ( value ) ) ;
12561257 }
0 commit comments