-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQuery.cs
More file actions
49 lines (38 loc) · 1.23 KB
/
Query.cs
File metadata and controls
49 lines (38 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System.Data.Common;
namespace StilettoSQL.Query;
public class Query : Internal.QueryBase {
string sql = "";
public Query(string sql, params object[] list) {
this.sql = sql;
AddPosParms(list);
}
public Query Timeout(TimeSpan timeout) {
_Timeout = timeout;
return this;
}
public IAsyncEnumerable<DbDataReader> ReadAllRows() {
return ExecuteReader(sql);
}
public Task<int> ExecuteGetRowsTouched() {
return base.ExecuteNonQuery(sql);
}
public Task<T?> ExecuteScalar<T>() {
return base.ExecuteScalar<T>(sql);
}
public Task<object?> ExecuteScalar() {
return base.ExecuteScalar(sql);
}
public static IAsyncEnumerable<DbDataReader> ReadAllRows(string sql, params object[] list) {
return new Query(sql, list).ReadAllRows();
}
public static Task<int> ExecuteGetRowsTouched(string sql, params object[] list) {
return new Query(sql, list).ExecuteGetRowsTouched();
}
public static Task<T?> ExecuteScalar<T>(string sql, params object[] list) {
return new Query(sql, list).ExecuteScalar<T>();
}
public Query Value(object obj) {
AddPosParm(obj);
return this;
}
}