@@ -31,6 +31,16 @@ public override DbParameter AppendParamter(List<DbParameter> _params, string par
3131 var dbtype = ( DbType ? ) _orm . CodeFirst . GetDbInfo ( type ) ? . type ;
3232 DbParameter ret = new ClickHouseDbParameter { ParameterName = parameterName } ; //QuoteParamterName(parameterName)
3333 if ( dbtype != null ) ret . DbType = dbtype . Value ;
34+ if ( value is Enum )
35+ {
36+ switch ( ret . DbType )
37+ {
38+ case DbType . Int32 :
39+ value = Utils . GetDataReaderValue ( typeof ( int ) , value ) ; break ;
40+ case DbType . Int64 :
41+ value = Utils . GetDataReaderValue ( typeof ( long ) , value ) ; break ;
42+ }
43+ }
3444 ret . Value = value ;
3545 if ( col != null )
3646 {
@@ -57,16 +67,28 @@ public override DbParameter AppendParamter(List<DbParameter> _params, string par
5767 public override DbParameter [ ] GetDbParamtersByObject ( string sql , object obj ) =>
5868 Utils . GetDbParamtersByObject < DbParameter > ( sql , obj , "@" , ( name , type , value ) =>
5969 {
60- if ( value is string str )
70+ if ( value is string str )
6171 value = str ? . Replace ( "\t " , "\\ t" )
6272 . Replace ( "\r \n " , "\\ r\\ n" )
6373 . Replace ( "\n " , "\\ n" )
6474 . Replace ( "\r " , "\\ r" )
6575 . Replace ( "/" , "\\ /" ) ;
6676 DbParameter ret = new ClickHouseDbParameter { ParameterName = $ "@{ name } ", Value = value } ;
6777 var tp = _orm . CodeFirst . GetDbInfo ( type ) ? . type ;
68- if ( tp != null )
69- ret . DbType = ( DbType ) tp . Value ;
78+ if ( tp != null ) ret . DbType = ( DbType ) tp . Value ;
79+ if ( value is Enum )
80+ {
81+ if ( tp != null )
82+ switch ( ret . DbType )
83+ {
84+ case DbType . Int32 :
85+ value = Utils . GetDataReaderValue ( typeof ( int ) , value ) ; break ;
86+ case DbType . Int64 :
87+ value = Utils . GetDataReaderValue ( typeof ( long ) , value ) ; break ;
88+ }
89+ else
90+ value = Utils . GetDataReaderValue ( typeof ( int ) , value ) ;
91+ }
7092 return ret ;
7193 } ) ;
7294
0 commit comments