@@ -37,7 +37,10 @@ UNION ALL
37
37
return insertedTableName ;
38
38
}
39
39
40
- public static async Task < R > ExecuteAsyncWithTransaction < R > ( this SqlConnection conn , Func < SqlConnection , SqlTransaction , Task < R > > function )
40
+ public static async Task < R > ExecuteAsyncWithTransaction < R > (
41
+ this SqlConnection conn ,
42
+ Func < SqlConnection , IDbTransaction , Task < R > > function
43
+ )
41
44
{
42
45
using ( var tran = conn . BeginTransaction ( ) )
43
46
{
@@ -49,7 +52,7 @@ public static async Task<R> ExecuteAsyncWithTransaction<R>(this SqlConnection co
49
52
50
53
#region AppLock
51
54
52
- public static async Task < bool > GetAppLockAsync ( this SqlConnection connection , string key , SqlTransaction transaction = null )
55
+ public static async Task < bool > GetAppLockAsync ( this SqlConnection connection , string key , IDbTransaction transaction = null )
53
56
{
54
57
if ( key . Length > 255 )
55
58
throw new ArgumentOutOfRangeException ( nameof ( key ) , "ength of the key used for locking must be less then 256 characters." ) ;
@@ -67,7 +70,7 @@ select @result
67
70
return result == 0 || result == 1 ;
68
71
}
69
72
70
- public static async Task < bool > ReleaseAppLockAsync ( this SqlConnection connection , string key , SqlTransaction transaction = null )
73
+ public static async Task < bool > ReleaseAppLockAsync ( this SqlConnection connection , string key , IDbTransaction transaction = null )
71
74
{
72
75
if ( key . Length > 255 )
73
76
throw new ArgumentOutOfRangeException ( nameof ( key ) , "Length of the key used for locking must be less then 256 characters." ) ;
@@ -88,7 +91,7 @@ select @result
88
91
public static Task < R > ExecuteWithAppLockAsync < R > (
89
92
this SqlConnection conn ,
90
93
string resourceIdentifier ,
91
- Func < SqlConnection , SqlTransaction , Task < R > > function
94
+ Func < SqlConnection , IDbTransaction , Task < R > > function
92
95
)
93
96
{
94
97
return conn . ExecuteAsyncWithTransaction (
@@ -97,9 +100,9 @@ Func<SqlConnection, SqlTransaction, Task<R>> function
97
100
}
98
101
99
102
public static async Task < R > ExecuteWithAppLockAsync < R > (
100
- this ( SqlConnection conn , SqlTransaction tran ) context ,
103
+ this ( SqlConnection conn , IDbTransaction tran ) context ,
101
104
string resourceIdentifier ,
102
- Func < SqlConnection , SqlTransaction , Task < R > > function
105
+ Func < SqlConnection , IDbTransaction , Task < R > > function
103
106
)
104
107
{
105
108
var lockResult = await context . conn . GetAppLockAsync ( resourceIdentifier , transaction : context . tran ) ;
0 commit comments