@@ -151,11 +151,11 @@ private static int ExecuteNonQueryCore(
151151 string sql ,
152152 P [ ] parameters ,
153153 C connection ,
154- Object transaction )
154+ IDbTransaction transaction )
155155 {
156156 using ( var command = ( CMD ) connection . CreateCommand ( ) )
157157 {
158- if ( transaction != defaultTransaction )
158+ if ( transaction != DefaultTransaction . defaultTransaction )
159159 command . Transaction = ( T ) transaction ;
160160
161161 command . CommandText = sql ;
@@ -200,7 +200,8 @@ private static int ExecuteNonQuery(
200200 sql ,
201201 parameters ,
202202 connection ,
203- defaultTransaction ) ;
203+ DefaultTransaction . defaultTransaction
204+ ) ;
204205 }
205206
206207 /// <summary>
@@ -242,7 +243,7 @@ C connection
242243 sql ,
243244 ConvertToDbParameter ( parameters ) ,
244245 connection ,
245- defaultTransaction
246+ DefaultTransaction . defaultTransaction
246247 ) ;
247248 }
248249
@@ -342,11 +343,11 @@ public static object ExecuteScalarCore(
342343 string sql ,
343344 P [ ] parameters ,
344345 C connection ,
345- Object transaction )
346+ IDbTransaction transaction )
346347 {
347348 using ( var command = ( CMD ) connection . CreateCommand ( ) )
348349 {
349- if ( transaction != defaultTransaction )
350+ if ( transaction != DefaultTransaction . defaultTransaction )
350351 {
351352 command . Transaction = ( T ) transaction ;
352353 }
@@ -397,7 +398,7 @@ public static object ExecuteScalar(
397398 sql ,
398399 new P [ 0 ] ,
399400 connection ,
400- defaultTransaction
401+ DefaultTransaction . defaultTransaction
401402 ) ;
402403 }
403404
@@ -430,7 +431,12 @@ public static object ExecuteScalar(
430431 P [ ] parameters ,
431432 C connection )
432433 {
433- return ExecuteScalarCore ( sql , parameters , connection , defaultTransaction ) ;
434+ return ExecuteScalarCore (
435+ sql ,
436+ parameters ,
437+ connection ,
438+ DefaultTransaction . defaultTransaction
439+ ) ;
434440 }
435441
436442 /// <summary>
@@ -471,7 +477,7 @@ public static object ExecuteScalar(
471477 sql ,
472478 ConvertToDbParameter ( parameters ) ,
473479 connection ,
474- defaultTransaction
480+ DefaultTransaction . defaultTransaction
475481 ) ;
476482 }
477483
@@ -878,9 +884,6 @@ public static async Task<dynamic[]> LoadFormattableSqlResultAsync(
878884 transaction ) ;
879885 }
880886
881- //Marker object indicates default transaction is used.
882- internal static readonly Object defaultTransaction = new Object ( ) ;
883-
884887 public class SqlResult : DirectSQL . SqlResult < R , CMD , T , C , P >
885888 {
886889 internal SqlResult (
@@ -891,5 +894,36 @@ internal SqlResult(
891894 {
892895 }
893896 }
897+
898+ internal class DefaultTransaction : IDbTransaction
899+ {
900+
901+ //Marker object indicates default transaction is used.
902+ internal static readonly DefaultTransaction defaultTransaction = new DefaultTransaction ( ) ;
903+
904+ private DefaultTransaction ( )
905+ {
906+
907+ }
908+
909+ public void Dispose ( )
910+ {
911+ throw new NotImplementedException ( ) ;
912+ }
913+
914+ public void Commit ( )
915+ {
916+ throw new NotImplementedException ( ) ;
917+ }
918+
919+ public void Rollback ( )
920+ {
921+ throw new NotImplementedException ( ) ;
922+ }
923+
924+ public IDbConnection Connection { get ; }
925+ public IsolationLevel IsolationLevel { get ; }
926+ }
927+
894928 }
895929}
0 commit comments