Skip to content

Commit 1da596d

Browse files
2881028810
authored andcommitted
- 增加 IAdo.Query<T1, T2 ...> 多结果集查询;
- 增加 IAdo.ExecuteDataSet 多结果集查询;
1 parent 6c64eac commit 1da596d

File tree

3 files changed

+707
-36
lines changed

3 files changed

+707
-36
lines changed

FreeSql/Interface/IAdo.cs

Lines changed: 118 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,23 @@ public partial interface IAdo {
9393
/// </summary>
9494
/// <param name="cmdText"></param>
9595
/// <param name="cmdParms"></param>
96+
DataSet ExecuteDataSet(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
97+
DataSet ExecuteDataSet(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
98+
DataSet ExecuteDataSet(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
99+
/// <summary>
100+
/// 查询,ExecuteDataSet("select * from user where age > @age; select 2", new { age = 25 })
101+
/// </summary>
102+
/// <param name="cmdText"></param>
103+
/// <param name="parms"></param>
104+
/// <returns></returns>
105+
DataSet ExecuteDataSet(string cmdText, object parms = null);
106+
DataSet ExecuteDataSet(DbTransaction transaction, string cmdText, object parms = null);
107+
DataSet ExecuteDataSet(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
108+
/// <summary>
109+
/// 查询
110+
/// </summary>
111+
/// <param name="cmdText"></param>
112+
/// <param name="cmdParms"></param>
96113
DataTable ExecuteDataTable(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
97114
DataTable ExecuteDataTable(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
98115
DataTable ExecuteDataTable(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
@@ -145,7 +162,7 @@ public partial interface IAdo {
145162
/// <summary>
146163
/// 执行SQL返回对象集合,Query&lt;User&gt;("select * from user where age > @age", new SqlParameter { ParameterName = "age", Value = 25 })
147164
/// </summary>
148-
/// <typeparam name="T"></typeparam>
165+
/// <typeparam name="T1"></typeparam>
149166
/// <param name="cmdType"></param>
150167
/// <param name="cmdText"></param>
151168
/// <param name="cmdParms"></param>
@@ -156,14 +173,55 @@ public partial interface IAdo {
156173
/// <summary>
157174
/// 执行SQL返回对象集合,Query&lt;User&gt;("select * from user where age > @age", new { age = 25 })
158175
/// </summary>
159-
/// <typeparam name="T"></typeparam>
176+
/// <typeparam name="T1"></typeparam>
160177
/// <param name="cmdText"></param>
161178
/// <param name="parms"></param>
162179
/// <returns></returns>
163180
List<T> Query<T>(string cmdText, object parms = null);
164181
List<T> Query<T>(DbTransaction transaction, string cmdText, object parms = null);
165182
List<T> Query<T>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
166183

184+
/// <summary>
185+
/// 执行SQL返回对象集合,Query&lt;User&gt;("select * from user where age > @age; select * from address", new SqlParameter { ParameterName = "age", Value = 25 })
186+
/// </summary>
187+
/// <typeparam name="T1"></typeparam>
188+
/// <param name="cmdType"></param>
189+
/// <param name="cmdText"></param>
190+
/// <param name="cmdParms"></param>
191+
/// <returns></returns>
192+
(List<T1>, List<T2>) Query<T1, T2>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
193+
(List<T1>, List<T2>) Query<T1, T2>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
194+
(List<T1>, List<T2>) Query<T1, T2>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
195+
/// <summary>
196+
/// 执行SQL返回对象集合,Query&lt;User&gt;("select * from user where age > @age; select * from address", new { age = 25 })
197+
/// </summary>
198+
/// <typeparam name="T1"></typeparam>
199+
/// <param name="cmdText"></param>
200+
/// <param name="parms"></param>
201+
/// <returns></returns>
202+
(List<T1>, List<T2>) Query<T1, T2>(string cmdText, object parms = null);
203+
(List<T1>, List<T2>) Query<T1, T2>(DbTransaction transaction, string cmdText, object parms = null);
204+
(List<T1>, List<T2>) Query<T1, T2>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
205+
206+
(List<T1>, List<T2>, List<T3>) Query<T1, T2, T3>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
207+
(List<T1>, List<T2>, List<T3>) Query<T1, T2, T3>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
208+
(List<T1>, List<T2>, List<T3>) Query<T1, T2, T3>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
209+
(List<T1>, List<T2>, List<T3>) Query<T1, T2, T3>(string cmdText, object parms = null);
210+
(List<T1>, List<T2>, List<T3>) Query<T1, T2, T3>(DbTransaction transaction, string cmdText, object parms = null);
211+
(List<T1>, List<T2>, List<T3>) Query<T1, T2, T3>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
212+
(List<T1>, List<T2>, List<T3>, List<T4>) Query<T1, T2, T3, T4>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
213+
(List<T1>, List<T2>, List<T3>, List<T4>) Query<T1, T2, T3, T4>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
214+
(List<T1>, List<T2>, List<T3>, List<T4>) Query<T1, T2, T3, T4>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
215+
(List<T1>, List<T2>, List<T3>, List<T4>) Query<T1, T2, T3, T4>(string cmdText, object parms = null);
216+
(List<T1>, List<T2>, List<T3>, List<T4>) Query<T1, T2, T3, T4>(DbTransaction transaction, string cmdText, object parms = null);
217+
(List<T1>, List<T2>, List<T3>, List<T4>) Query<T1, T2, T3, T4>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
218+
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
219+
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
220+
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
221+
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(string cmdText, object parms = null);
222+
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(DbTransaction transaction, string cmdText, object parms = null);
223+
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
224+
167225
#region async
168226
/// <summary>
169227
/// 查询,若使用读写分离,查询【从库】条件cmdText.StartsWith("SELECT "),否则查询【主库】
@@ -205,6 +263,23 @@ public partial interface IAdo {
205263
/// </summary>
206264
/// <param name="cmdText"></param>
207265
/// <param name="cmdParms"></param>
266+
Task<DataSet> ExecuteDataSetAsync(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
267+
Task<DataSet> ExecuteDataSetAsync(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
268+
Task<DataSet> ExecuteDataSetAsync(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
269+
/// <summary>
270+
/// 查询,ExecuteDataSetAsync("select * from user where age > @age; select 2", new { age = 25 })
271+
/// </summary>
272+
/// <param name="cmdText"></param>
273+
/// <param name="parms"></param>
274+
/// <returns></returns>
275+
Task<DataSet> ExecuteDataSetAsync(string cmdText, object parms = null);
276+
Task<DataSet> ExecuteDataSetAsync(DbTransaction transaction, string cmdText, object parms = null);
277+
Task<DataSet> ExecuteDataSetAsync(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
278+
/// <summary>
279+
/// 查询
280+
/// </summary>
281+
/// <param name="cmdText"></param>
282+
/// <param name="cmdParms"></param>
208283
Task<DataTable> ExecuteDataTableAsync(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
209284
Task<DataTable> ExecuteDataTableAsync(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
210285
Task<DataTable> ExecuteDataTableAsync(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
@@ -275,6 +350,47 @@ public partial interface IAdo {
275350
Task<List<T>> QueryAsync<T>(string cmdText, object parms = null);
276351
Task<List<T>> QueryAsync<T>(DbTransaction transaction, string cmdText, object parms = null);
277352
Task<List<T>> QueryAsync<T>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
353+
354+
/// <summary>
355+
/// 执行SQL返回对象集合,Query&lt;User&gt;("select * from user where age > @age; select * from address", new SqlParameter { ParameterName = "age", Value = 25 })
356+
/// </summary>
357+
/// <typeparam name="T1"></typeparam>
358+
/// <param name="cmdType"></param>
359+
/// <param name="cmdText"></param>
360+
/// <param name="cmdParms"></param>
361+
/// <returns></returns>
362+
Task<(List<T1>, List<T2>)> QueryAsync<T1, T2>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
363+
Task<(List<T1>, List<T2>)> QueryAsync<T1, T2>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
364+
Task<(List<T1>, List<T2>)> QueryAsync<T1, T2>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
365+
/// <summary>
366+
/// 执行SQL返回对象集合,Query&lt;User&gt;("select * from user where age > @age; select * from address", new { age = 25 })
367+
/// </summary>
368+
/// <typeparam name="T1"></typeparam>
369+
/// <param name="cmdText"></param>
370+
/// <param name="parms"></param>
371+
/// <returns></returns>
372+
Task<(List<T1>, List<T2>)> QueryAsync<T1, T2>(string cmdText, object parms = null);
373+
Task<(List<T1>, List<T2>)> QueryAsync<T1, T2>(DbTransaction transaction, string cmdText, object parms = null);
374+
Task<(List<T1>, List<T2>)> QueryAsync<T1, T2>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
375+
376+
Task<(List<T1>, List<T2>, List<T3>)> QueryAsync<T1, T2, T3>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
377+
Task<(List<T1>, List<T2>, List<T3>)> QueryAsync<T1, T2, T3>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
378+
Task<(List<T1>, List<T2>, List<T3>)> QueryAsync<T1, T2, T3>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
379+
Task<(List<T1>, List<T2>, List<T3>)> QueryAsync<T1, T2, T3>(string cmdText, object parms = null);
380+
Task<(List<T1>, List<T2>, List<T3>)> QueryAsync<T1, T2, T3>(DbTransaction transaction, string cmdText, object parms = null);
381+
Task<(List<T1>, List<T2>, List<T3>)> QueryAsync<T1, T2, T3>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
382+
Task<(List<T1>, List<T2>, List<T3>, List<T4>)> QueryAsync<T1, T2, T3, T4>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
383+
Task<(List<T1>, List<T2>, List<T3>, List<T4>)> QueryAsync<T1, T2, T3, T4>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
384+
Task<(List<T1>, List<T2>, List<T3>, List<T4>)> QueryAsync<T1, T2, T3, T4>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
385+
Task<(List<T1>, List<T2>, List<T3>, List<T4>)> QueryAsync<T1, T2, T3, T4>(string cmdText, object parms = null);
386+
Task<(List<T1>, List<T2>, List<T3>, List<T4>)> QueryAsync<T1, T2, T3, T4>(DbTransaction transaction, string cmdText, object parms = null);
387+
Task<(List<T1>, List<T2>, List<T3>, List<T4>)> QueryAsync<T1, T2, T3, T4>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
388+
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
389+
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
390+
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(DbConnection connection, DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
391+
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(string cmdText, object parms = null);
392+
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(DbTransaction transaction, string cmdText, object parms = null);
393+
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
278394
#endregion
279395
}
280396
}

0 commit comments

Comments
 (0)