@@ -16,14 +16,15 @@ public class OracleOrmLiteDialectProvider : OrmLiteDialectProviderBase<OracleOrm
1616 public const string OdpProvider = "Oracle.DataAccess.Client" ;
1717 public const string MicrosoftProvider = "System.Data.OracleClient" ;
1818
19- protected readonly List < string > ReservedNames = new List < string > {
20- "USER" , "ORDER" , "PASSWORD" , "ACTIVE" , "LEFT" , "DOUBLE" , "FLOAT" , "DECIMAL" , "STRING" , "DATE" ,
21- "DATETIME" , "TYPE" , "TIMESTAMP" , "COMMENT"
19+ protected readonly List < string > ReservedNames = new List < string >
20+ {
21+ "USER" , "ORDER" , "PASSWORD" , "ACTIVE" , "LEFT" , "DOUBLE" , "FLOAT" , "DECIMAL" , "STRING" , "DATE" ,
22+ "DATETIME" , "TYPE" , "TIMESTAMP" , "COMMENT" , "LONG"
2223 } ;
2324
2425 protected readonly List < string > ReservedParameterNames = new List < string >
2526 {
26- "COMMENT" , "DATE" , "DECIMAL" , "FLOAT" , "ORDER" , "USER"
27+ "COMMENT" , "DATE" , "DECIMAL" , "FLOAT" , "ORDER" , "USER" , "LONG"
2728 } ;
2829
2930 protected const int MaxNameLength = 30 ;
@@ -177,6 +178,42 @@ public override object ConvertDbValue(object value, Type type)
177178 return base . ConvertDbValue ( value , type ) ;
178179 }
179180
181+ public override GetValueDelegate GetReaderGuidDelegate ( IDataRecord reader )
182+ {
183+ if ( CompactGuid )
184+ {
185+ return i =>
186+ {
187+ var guid = reader . GetValue ( i ) ;
188+ return new Guid ( ( byte [ ] ) guid ) ;
189+ } ;
190+ }
191+ return i =>
192+ {
193+ var guid = reader . GetValue ( i ) ;
194+ return new Guid ( guid . ToString ( ) ) ;
195+ } ;
196+ }
197+
198+ public override GetValueDelegate GetReaderNullableGuidDelegate ( IDataRecord reader )
199+ {
200+ if ( CompactGuid )
201+ {
202+ return i =>
203+ {
204+ if ( reader . IsDBNull ( i ) ) return null ;
205+ var guid = reader . GetValue ( i ) ;
206+ return new Guid ( ( Byte [ ] ) guid ) ;
207+ } ;
208+ }
209+ return i =>
210+ {
211+ if ( reader . IsDBNull ( i ) ) return null ;
212+ var guid = reader . GetValue ( i ) ;
213+ return new Guid ( guid . ToString ( ) ) ;
214+ } ;
215+ }
216+
180217 public override string GetQuotedValue ( object value , Type fieldType )
181218 {
182219 if ( value == null ) return "NULL" ;
@@ -740,12 +777,9 @@ public override string GetColumnDefinition (string fieldName, Type fieldType,
740777 sql . AppendFormat ( DefaultValueFormat , defaultValue ) ;
741778 }
742779
743- if ( ! isNullable )
744- {
745- sql . Append ( " NOT NULL" ) ;
746- }
780+ sql . Append ( isNullable ? " NULL" : " NOT NULL" ) ;
747781
748- return sql . ToString ( ) ;
782+ return sql . ToString ( ) ;
749783 }
750784
751785
0 commit comments