Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit c9d4148

Browse files
committed
Add expr params in async ConvertTo API's
1 parent 8101e5e commit c9d4148

File tree

3 files changed

+29
-25
lines changed

3 files changed

+29
-25
lines changed

src/ServiceStack.OrmLite/Async/OrmLiteResultsFilterExtensionsAsync.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,13 @@ public static Task<IList> ConvertToListAsync(this IDbCommand dbCmd, Type refType
8686
.Then(reader => reader.ConvertToListAsync(dialectProvider, refType, token)).Unwrap();
8787
}
8888

89-
internal static Task<List<T>> ExprConvertToListAsync<T>(this IDbCommand dbCmd, string sql, CancellationToken token)
89+
internal static Task<List<T>> ExprConvertToListAsync<T>(this IDbCommand dbCmd, string sql, IEnumerable<IDbDataParameter> sqlParams, CancellationToken token)
9090
{
9191
if (sql != null)
9292
dbCmd.CommandText = sql;
9393

94+
dbCmd.SetParameters(sqlParams);
95+
9496
if (OrmLiteConfig.ResultsFilter != null)
9597
return OrmLiteConfig.ResultsFilter.GetList<T>(dbCmd).InTask();
9698

@@ -185,11 +187,13 @@ public static Task<long> ExecLongScalarAsync(this IDbCommand dbCmd, string sql,
185187
return dbCmd.LongScalarAsync(token);
186188
}
187189

188-
internal static Task<T> ExprConvertToAsync<T>(this IDbCommand dbCmd, string sql, CancellationToken token)
190+
internal static Task<T> ExprConvertToAsync<T>(this IDbCommand dbCmd, string sql, IEnumerable<IDbDataParameter> sqlParams, CancellationToken token)
189191
{
190192
if (sql != null)
191193
dbCmd.CommandText = sql;
192194

195+
dbCmd.SetParameters(sqlParams);
196+
193197
if (OrmLiteConfig.ResultsFilter != null)
194198
return OrmLiteConfig.ResultsFilter.GetSingle<T>(dbCmd).InTask();
195199

src/ServiceStack.OrmLite/Async/ReadExpressionCommandExtensionsAsync.cs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,36 @@ internal static class ReadExpressionCommandExtensionsAsync
1616
{
1717
internal static Task<List<T>> SelectAsync<T>(this IDbCommand dbCmd, Func<SqlExpression<T>, SqlExpression<T>> expression, CancellationToken token)
1818
{
19-
var expr = dbCmd.GetDialectProvider().SqlExpression<T>();
20-
var sql = expression(expr).SelectInto<T>();
21-
return dbCmd.ExprConvertToListAsync<T>(sql, token);
19+
var q = dbCmd.GetDialectProvider().SqlExpression<T>();
20+
var sql = expression(q).SelectInto<T>();
21+
return dbCmd.ExprConvertToListAsync<T>(sql, q.Params, token);
2222
}
2323

2424
internal static Task<List<Into>> SelectAsync<Into, From>(this IDbCommand dbCmd, Func<SqlExpression<From>, SqlExpression<From>> expression, CancellationToken token)
2525
{
26-
var expr = dbCmd.GetDialectProvider().SqlExpression<From>();
27-
string sql = expression(expr).SelectInto<Into>();
28-
return dbCmd.ExprConvertToListAsync<Into>(sql, token);
26+
var q = dbCmd.GetDialectProvider().SqlExpression<From>();
27+
string sql = expression(q).SelectInto<Into>();
28+
return dbCmd.ExprConvertToListAsync<Into>(sql, q.Params, token);
2929
}
3030

31-
internal static Task<List<Into>> SelectAsync<Into, From>(this IDbCommand dbCmd, SqlExpression<From> expression, CancellationToken token)
31+
internal static Task<List<Into>> SelectAsync<Into, From>(this IDbCommand dbCmd, SqlExpression<From> q, CancellationToken token)
3232
{
33-
string sql = expression.SelectInto<Into>();
34-
return dbCmd.ExprConvertToListAsync<Into>(sql, token);
33+
string sql = q.SelectInto<Into>();
34+
return dbCmd.ExprConvertToListAsync<Into>(sql, q.Params, token);
3535
}
3636

37-
internal static Task<List<T>> SelectAsync<T>(this IDbCommand dbCmd, SqlExpression<T> expression, CancellationToken token)
37+
internal static Task<List<T>> SelectAsync<T>(this IDbCommand dbCmd, SqlExpression<T> q, CancellationToken token)
3838
{
39-
string sql = expression.SelectInto<T>();
40-
return dbCmd.ExprConvertToListAsync<T>(sql, token);
39+
string sql = q.SelectInto<T>();
40+
return dbCmd.ExprConvertToListAsync<T>(sql, q.Params, token);
4141
}
4242

4343
internal static Task<List<T>> SelectAsync<T>(this IDbCommand dbCmd, Expression<Func<T, bool>> predicate, CancellationToken token)
4444
{
45-
var expr = dbCmd.GetDialectProvider().SqlExpression<T>();
46-
string sql = expr.Where(predicate).SelectInto<T>();
45+
var q = dbCmd.GetDialectProvider().SqlExpression<T>();
46+
string sql = q.Where(predicate).SelectInto<T>();
4747

48-
return dbCmd.ExprConvertToListAsync<T>(sql, token);
48+
return dbCmd.ExprConvertToListAsync<T>(sql, q.Params, token);
4949
}
5050

5151
internal static Task<T> SingleAsync<T>(this IDbCommand dbCmd, Func<SqlExpression<T>, SqlExpression<T>> expression, CancellationToken token)
@@ -56,16 +56,16 @@ internal static Task<T> SingleAsync<T>(this IDbCommand dbCmd, Func<SqlExpression
5656

5757
internal static Task<T> SingleAsync<T>(this IDbCommand dbCmd, Expression<Func<T, bool>> predicate, CancellationToken token)
5858
{
59-
var ev = dbCmd.GetDialectProvider().SqlExpression<T>();
59+
var q = dbCmd.GetDialectProvider().SqlExpression<T>();
6060

61-
return SingleAsync(dbCmd, ev.Where(predicate), token);
61+
return SingleAsync(dbCmd, q.Where(predicate), token);
6262
}
6363

6464
internal static Task<T> SingleAsync<T>(this IDbCommand dbCmd, SqlExpression<T> expression, CancellationToken token)
6565
{
6666
string sql = expression.Limit(1).SelectInto<T>();
6767

68-
return dbCmd.ConvertToAsync<T>(sql, token);
68+
return dbCmd.ExprConvertToAsync<T>(sql, expression.Params, token);
6969
}
7070

7171
public static Task<TKey> ScalarAsync<T, TKey>(this IDbCommand dbCmd, Expression<Func<T, TKey>> field, CancellationToken token)
@@ -173,10 +173,10 @@ internal static Task<List<T>> ExprConvertToListAsync<T>(this IDataReader reader,
173173

174174
internal static Task<List<T>> Select<T>(this IDbCommand dbCmd, Expression<Func<T, bool>> predicate, CancellationToken token)
175175
{
176-
var expr = dbCmd.GetDialectProvider().SqlExpression<T>();
177-
string sql = expr.Where(predicate).SelectInto<T>();
176+
var q = dbCmd.GetDialectProvider().SqlExpression<T>();
177+
string sql = q.Where(predicate).SelectInto<T>();
178178

179-
return dbCmd.ExprConvertToListAsync<T>(sql, token);
179+
return dbCmd.ExprConvertToListAsync<T>(sql, q.Params, token);
180180
}
181181

182182
}

src/ServiceStack.OrmLite/OrmLiteResultsFilterExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ internal static List<T> ExprConvertToList<T>(this IDbCommand dbCmd, string sql =
121121
if (sql != null)
122122
dbCmd.CommandText = sql;
123123

124-
SetParameters(dbCmd, sqlParams);
124+
dbCmd.SetParameters(sqlParams);
125125

126126
if (OrmLiteConfig.ResultsFilter != null)
127127
{
@@ -235,7 +235,7 @@ internal static T ExprConvertTo<T>(this IDbCommand dbCmd, string sql = null, IEn
235235
if (sql != null)
236236
dbCmd.CommandText = sql;
237237

238-
SetParameters(dbCmd, sqlParams);
238+
dbCmd.SetParameters(sqlParams);
239239

240240
if (OrmLiteConfig.ResultsFilter != null)
241241
{

0 commit comments

Comments
 (0)