@@ -1305,20 +1305,46 @@ protected virtual object VisitColumnAccessMethod(MethodCallExpression m)
13051305 statement = string . Format ( "lower({0})" , quotedColName ) ;
13061306 break ;
13071307 case "StartsWith" :
1308- statement = string . Format ( "upper({0}) like {1} escape '\\ '" ,
1309- quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue (
1310- OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) . ToUpper ( ) + "%" ) ) ;
1308+ if ( ! OrmLiteConfig . StripUpperInLike )
1309+ {
1310+ statement = string . Format ( "upper({0}) like {1} escape '\\ '" ,
1311+ quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue (
1312+ OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) . ToUpper ( ) + "%" ) ) ;
1313+ }
1314+ else
1315+ {
1316+ statement = string . Format ( "{0} like {1} escape '\\ '" ,
1317+ quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue (
1318+ OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) + "%" ) ) ;
1319+ }
13111320 break ;
13121321 case "EndsWith" :
1313- statement = string . Format ( "upper({0}) like {1} escape '\\ '" ,
1314- quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue ( "%" +
1315- OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) . ToUpper ( ) ) ) ;
1322+ if ( ! OrmLiteConfig . StripUpperInLike )
1323+ {
1324+ statement = string . Format ( "upper({0}) like {1} escape '\\ '" ,
1325+ quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue ( "%" +
1326+ OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) . ToUpper ( ) ) ) ;
1327+ }
1328+ else
1329+ {
1330+ statement = string . Format ( "{0} like {1} escape '\\ '" ,
1331+ quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue ( "%" +
1332+ OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) ) ) ;
1333+ }
13161334 break ;
13171335 case "Contains" :
1318- statement = string . Format ( "upper({0}) like {1} escape '\\ '" ,
1319- quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue ( "%" +
1320- OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) . ToUpper ( )
1321- + "%" ) ) ;
1336+ if ( ! OrmLiteConfig . StripUpperInLike )
1337+ {
1338+ statement = string . Format ( "upper({0}) like {1} escape '\\ '" ,
1339+ quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue ( "%" +
1340+ OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) . ToUpper ( ) + "%" ) ) ;
1341+ }
1342+ else
1343+ {
1344+ statement = string . Format ( "{0} like {1} escape '\\ '" ,
1345+ quotedColName , OrmLiteConfig . DialectProvider . GetQuotedValue ( "%" +
1346+ OrmLiteConfig . DialectProvider . EscapeWildcards ( args [ 0 ] . ToString ( ) ) + "%" ) ) ;
1347+ }
13221348 break ;
13231349 case "Substring" :
13241350 var startIndex = Int32 . Parse ( args [ 0 ] . ToString ( ) ) + 1 ;
0 commit comments