@@ -39,30 +39,60 @@ public static class OrmLiteWriteApiAsync
3939 /// </summary>
4040 public static Task < long > InsertAsync < T > ( this IDbConnection dbConn , T obj , bool selectIdentity = false , CancellationToken token = default ( CancellationToken ) )
4141 {
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 ) ) ;
4352 }
4453
4554 /// <summary>
4655 /// 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>
4958 /// </summary>
5059 public static Task InsertAsync < T > ( this IDbConnection dbConn , CancellationToken token , params T [ ] objs )
5160 {
52- return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( token , objs ) ) ;
61+ return dbConn . Exec ( dbCmd => dbCmd . InsertAsync ( commandFilter : null , token : token , objs : objs ) ) ;
5362 }
5463 public static Task InsertAsync < T > ( this IDbConnection dbConn , params T [ ] objs )
5564 {
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 ) ) ;
5777 }
5878
5979 /// <summary>
6080 /// 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>
6282 /// </summary>
6383 public static Task InsertAllAsync < T > ( this IDbConnection dbConn , IEnumerable < T > objs , CancellationToken token = default ( CancellationToken ) )
6484 {
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 ) ) ;
6696 }
6797
6898 /// <summary>
@@ -81,19 +111,19 @@ public static Task InsertAsync<T>(this IDbConnection dbConn, params T[] objs)
81111 /// </summary>
82112 public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , CancellationToken token , params T [ ] objs )
83113 {
84- return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( token , null , objs ) ) ;
114+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( commandFilter : null , token : token , objs : objs ) ) ;
85115 }
86116 public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , params T [ ] objs )
87117 {
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 ) ) ;
89119 }
90120 public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , Action < IDbCommand > commandFilter , CancellationToken token , params T [ ] objs )
91121 {
92- return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( token , commandFilter , objs ) ) ;
122+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAsync ( commandFilter : commandFilter , token : token , objs : objs ) ) ;
93123 }
94124 public static Task < int > UpdateAsync < T > ( this IDbConnection dbConn , Action < IDbCommand > commandFilter , params T [ ] objs )
95125 {
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 ) ) ;
97127 }
98128
99129 /// <summary>
@@ -102,11 +132,11 @@ public static Task<int> UpdateAsync<T>(this IDbConnection dbConn, Action<IDbComm
102132 /// </summary>
103133 public static Task < int > UpdateAllAsync < T > ( this IDbConnection dbConn , IEnumerable < T > objs , Action < IDbCommand > commandFilter = null , CancellationToken token = default ( CancellationToken ) )
104134 {
105- return dbConn . Exec ( dbCmd => dbCmd . UpdateAllAsync ( objs , token , commandFilter ) ) ;
135+ return dbConn . Exec ( dbCmd => dbCmd . UpdateAllAsync ( objs , commandFilter , token ) ) ;
106136 }
107137
108138 /// <summary>
109- /// Delete rows using an anonymous type filter . E.g:
139+ /// Delete rows using an anonymous type commandFilter . E.g:
110140 /// <para>db.Delete<Person>(new { FirstName = "Jimi", Age = 27 })</para>
111141 /// </summary>
112142 /// <returns>number of rows deleted</returns>
@@ -116,7 +146,7 @@ public static Task<int> UpdateAsync<T>(this IDbConnection dbConn, Action<IDbComm
116146 }
117147
118148 /// <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:
120150 /// <para>db.Delete(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age = 27 })</para>
121151 /// </summary>
122152 /// <returns>number of rows deleted</returns>
@@ -126,7 +156,7 @@ public static Task<int> UpdateAsync<T>(this IDbConnection dbConn, Action<IDbComm
126156 }
127157
128158 /// <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:
130160 /// <para>db.Delete(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age = 27 })</para>
131161 /// </summary>
132162 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
139169 }
140170
141171 /// <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:
143173 /// <para>db.DeleteNonDefaults(new Person { FirstName = "Jimi", Age = 27 })</para>
144174 /// </summary>
145175 /// <returns>number of rows deleted</returns>
@@ -149,7 +179,7 @@ public static Task<int> DeleteAsync<T>(this IDbConnection dbConn, params T[] all
149179 }
150180
151181 /// <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:
153183 /// <para>db.DeleteNonDefaults(new Person { FirstName = "Jimi", Age = 27 },
154184 /// new Person { FirstName = "Janis", Age = 27 })</para>
155185 /// </summary>
0 commit comments