@@ -39,30 +39,60 @@ public static class OrmLiteWriteApiAsync
39
39
/// </summary>
40
40
public static Task < long > InsertAsync < T > ( this IDbConnection dbConn , T obj , bool selectIdentity = false , CancellationToken token = default ( CancellationToken ) )
41
41
{
42
- return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( obj , selectIdentity , token ) ) ;
42
+ return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( obj , commandFilter : null , selectIdentity : selectIdentity , token : token ) ) ;
43
+ }
44
+
45
+ /// <summary>
46
+ /// Insert 1 POCO, use selectIdentity to retrieve the last insert AutoIncrement id (if any). E.g:
47
+ /// <para>var id = db.Insert(new Person { Id = 1, FirstName = "Jimi }, selectIdentity:true)</para>
48
+ /// </summary>
49
+ public static Task < long > InsertAsync < T > ( this IDbConnection dbConn , T obj , Action < IDbCommand > commandFilter , bool selectIdentity = false , CancellationToken token = default ( CancellationToken ) )
50
+ {
51
+ return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( obj , commandFilter : commandFilter , selectIdentity : selectIdentity , token : token ) ) ;
43
52
}
44
53
45
54
/// <summary>
46
55
/// Insert 1 or more POCOs in a transaction. E.g:
47
- /// <para>db.Insert (new Person { Id = 1, FirstName = "Tupac", LastName = "Shakur", Age = 25 },</para>
48
- /// <para> new Person { Id = 2, FirstName = "Biggie", LastName = "Smalls", Age = 24 })</para>
56
+ /// <para>db.InsertAsync (new Person { Id = 1, FirstName = "Tupac", LastName = "Shakur", Age = 25 },</para>
57
+ /// <para> new Person { Id = 2, FirstName = "Biggie", LastName = "Smalls", Age = 24 })</para>
49
58
/// </summary>
50
59
public static Task InsertAsync < T > ( this IDbConnection dbConn , CancellationToken token , params T [ ] objs )
51
60
{
52
- return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( token , objs ) ) ;
61
+ return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( commandFilter : null , token : token , objs : objs ) ) ;
53
62
}
54
63
public static Task InsertAsync < T > ( this IDbConnection dbConn , params T [ ] objs )
55
64
{
56
- return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( default ( CancellationToken ) , objs ) ) ;
65
+ return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( commandFilter : null , token : default ( CancellationToken ) , objs : objs ) ) ;
66
+ }
67
+
68
+ /// <summary>
69
+ /// Insert 1 or more POCOs in a transaction and modify populated IDbCommand with a commandFilter. E.g:
70
+ /// <para>db.InsertAsync(dbCmd => applyFilter(dbCmd), token, </para>
71
+ /// <para> new Person { Id = 1, FirstName = "Tupac", LastName = "Shakur", Age = 25 },</para>
72
+ /// <para> new Person { Id = 2, FirstName = "Biggie", LastName = "Smalls", Age = 24 })</para>
73
+ /// </summary>
74
+ public static Task InsertAsync < T > ( this IDbConnection dbConn , Action < IDbCommand > commandFilter , CancellationToken token , params T [ ] objs )
75
+ {
76
+ return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( commandFilter : commandFilter , token : token , objs : objs ) ) ;
57
77
}
58
78
59
79
/// <summary>
60
80
/// Insert a collection of POCOs in a transaction. E.g:
61
- /// <para>db.InsertAll (new[] { new Person { Id = 9, FirstName = "Biggie", LastName = "Smalls", Age = 24 } })</para>
81
+ /// <para>db.InsertAllAsync (new[] { new Person { Id = 9, FirstName = "Biggie", LastName = "Smalls", Age = 24 } })</para>
62
82
/// </summary>
63
83
public static Task InsertAllAsync < T > ( this IDbConnection dbConn , IEnumerable < T > objs , CancellationToken token = default ( CancellationToken ) )
64
84
{
65
- return dbConn . Exec ( dbCmd => dbCmd . InsertAllAsync ( objs , token ) ) ;
85
+ return dbConn . Exec ( dbCmd => dbCmd . InsertAllAsync ( objs , commandFilter : null , token : token ) ) ;
86
+ }
87
+
88
+ /// <summary>
89
+ /// Insert a collection of POCOs in a transaction and modify populated IDbCommand with a commandFilter. E.g:
90
+ /// <para>db.InsertAllAsync(new[] { new Person { Id = 9, FirstName = "Biggie", LastName = "Smalls", Age = 24 } },</para>
91
+ /// <para> dbCmd => applyFilter(dbCmd))</para>
92
+ /// </summary>
93
+ public static Task InsertAllAsync < T > ( this IDbConnection dbConn , IEnumerable < T > objs , Action < IDbCommand > commandFilter , CancellationToken token = default ( CancellationToken ) )
94
+ {
95
+ return dbConn . Exec ( dbCmd => dbCmd . InsertAllAsync ( objs , commandFilter : commandFilter , token : token ) ) ;
66
96
}
67
97
68
98
/// <summary>
@@ -81,19 +111,19 @@ public static Task InsertAsync<T>(this IDbConnection dbConn, params T[] objs)
81
111
/// </summary>
82
112
public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , CancellationToken token , params T [ ] objs )
83
113
{
84
- return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( token , null , objs ) ) ;
114
+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( commandFilter : null , token : token , objs : objs ) ) ;
85
115
}
86
116
public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , params T [ ] objs )
87
117
{
88
- return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( default ( CancellationToken ) , null , objs ) ) ;
118
+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( commandFilter : null , token : default ( CancellationToken ) , objs : objs ) ) ;
89
119
}
90
120
public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , Action < IDbCommand > commandFilter , CancellationToken token , params T [ ] objs )
91
121
{
92
- return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( token , commandFilter , objs ) ) ;
122
+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( commandFilter : commandFilter , token : token , objs : objs ) ) ;
93
123
}
94
124
public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , Action < IDbCommand > commandFilter , params T [ ] objs )
95
125
{
96
- return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( default ( CancellationToken ) , commandFilter , objs ) ) ;
126
+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( commandFilter : commandFilter , token : default ( CancellationToken ) , objs : objs ) ) ;
97
127
}
98
128
99
129
/// <summary>
@@ -102,11 +132,11 @@ public static Task<int> UpdateAsync<T>(this IDbConnection dbConn, Action<IDbComm
102
132
/// </summary>
103
133
public static Task < int > UpdateAllAsync < T > ( this IDbConnection dbConn , IEnumerable < T > objs , Action < IDbCommand > commandFilter = null , CancellationToken token = default ( CancellationToken ) )
104
134
{
105
- return dbConn . Exec ( dbCmd => dbCmd . UpdateAllAsync ( objs , token , commandFilter ) ) ;
135
+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAllAsync ( objs , commandFilter , token ) ) ;
106
136
}
107
137
108
138
/// <summary>
109
- /// Delete rows using an anonymous type filter . E.g:
139
+ /// Delete rows using an anonymous type commandFilter . E.g:
110
140
/// <para>db.Delete<Person>(new { FirstName = "Jimi", Age = 27 })</para>
111
141
/// </summary>
112
142
/// <returns>number of rows deleted</returns>
@@ -116,7 +146,7 @@ public static Task<int> UpdateAsync<T>(this IDbConnection dbConn, Action<IDbComm
116
146
}
117
147
118
148
/// <summary>
119
- /// Delete 1 row using all fields in the filter . E.g:
149
+ /// Delete 1 row using all fields in the commandFilter . E.g:
120
150
/// <para>db.Delete(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age = 27 })</para>
121
151
/// </summary>
122
152
/// <returns>number of rows deleted</returns>
@@ -126,7 +156,7 @@ public static Task<int> UpdateAsync<T>(this IDbConnection dbConn, Action<IDbComm
126
156
}
127
157
128
158
/// <summary>
129
- /// Delete 1 or more rows in a transaction using all fields in the filter . E.g:
159
+ /// Delete 1 or more rows in a transaction using all fields in the commandFilter . E.g:
130
160
/// <para>db.Delete(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age = 27 })</para>
131
161
/// </summary>
132
162
public static Task < int > DeleteAsync < T > ( this IDbConnection dbConn , CancellationToken token = default ( CancellationToken ) , params T [ ] allFieldsFilters )
@@ -139,7 +169,7 @@ public static Task<int> DeleteAsync<T>(this IDbConnection dbConn, params T[] all
139
169
}
140
170
141
171
/// <summary>
142
- /// Delete 1 or more rows using only field with non-default values in the filter . E.g:
172
+ /// Delete 1 or more rows using only field with non-default values in the commandFilter . E.g:
143
173
/// <para>db.DeleteNonDefaults(new Person { FirstName = "Jimi", Age = 27 })</para>
144
174
/// </summary>
145
175
/// <returns>number of rows deleted</returns>
@@ -149,7 +179,7 @@ public static Task<int> DeleteAsync<T>(this IDbConnection dbConn, params T[] all
149
179
}
150
180
151
181
/// <summary>
152
- /// Delete 1 or more rows in a transaction using only field with non-default values in the filter . E.g:
182
+ /// Delete 1 or more rows in a transaction using only field with non-default values in the commandFilter . E.g:
153
183
/// <para>db.DeleteNonDefaults(new Person { FirstName = "Jimi", Age = 27 },
154
184
/// new Person { FirstName = "Janis", Age = 27 })</para>
155
185
/// </summary>
0 commit comments