Interface ISqlHelper
Namespace: DataWeb.Data.SqlServer
Assembly: DataWeb.Data.SqlServer.dll
Syntax
public interface ISqlHelper
Methods
ExecuteAsync(Query, string, CancellationToken)
Executes a non-query command (INSERT, UPDATE, DELETE).
Declaration
Task ExecuteAsync(Query query, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query | The Query object defining the SQL command. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task |
ExecuteAsync(string, List<SqlParameter>, string, CancellationToken)
Executes a raw SQL non-query command (INSERT, UPDATE, DELETE).
Declaration
Task ExecuteAsync(string query, List<SqlParameter> parameters = null, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| string | query | The raw SQL command string. |
| List<SqlParameter> | parameters | Optional SQL parameters; null if no parameters are needed. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task |
GetListAsync<T>(Query, Func<IDataReader, T>, string, CancellationToken)
Executes a query and returns a fully materialized read-only list of mapped results.
Declaration
Task<IReadOnlyList<T>> GetListAsync<T>(Query query, Func<IDataReader, T> fetchReader, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query | The Query object defining the SQL query. |
| Func<IDataReader, T> | fetchReader | A function to map each IDataReader row to a |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task<IReadOnlyList<T>> | A fully materialized read-only list of results. |
Type Parameters
| Name | Description |
|---|---|
| T | The type to map each data row to. |
GetListAsync<T>(string, Func<IDataReader, T>, List<SqlParameter>, int, string, CancellationToken)
Executes a raw SQL query string and returns a fully materialized read-only list of mapped results.
Declaration
Task<IReadOnlyList<T>> GetListAsync<T>(string query, Func<IDataReader, T> fetchReader, List<SqlParameter> parameters = null, int count = 0, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| string | query | The raw SQL query string. |
| Func<IDataReader, T> | fetchReader | A function to map each IDataReader row to a |
| List<SqlParameter> | parameters | Optional SQL parameters; null if no parameters are needed. |
| int | count | Optional row limit; 0 means no limit. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task<IReadOnlyList<T>> | A fully materialized read-only list of results. |
Type Parameters
| Name | Description |
|---|---|
| T | The type to map each data row to. |
GetReaderAsync(Query, string, CancellationToken)
Executes a query and returns a DbDataReader for manual row processing.
Declaration
Task<DbDataReader> GetReaderAsync(Query query, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query | The Query object defining the SQL query. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task<DbDataReader> | A data reader for the query results. |
GetReaderAsync(string, List<SqlParameter>, int, string, CancellationToken)
Executes a raw SQL query string and returns a DbDataReader for manual row processing.
Declaration
Task<DbDataReader> GetReaderAsync(string query, List<SqlParameter> parameters = null, int count = 0, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| string | query | The raw SQL query string. |
| List<SqlParameter> | parameters | Optional SQL parameters; null if no parameters are needed. |
| int | count | Optional row limit; 0 means no limit. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task<DbDataReader> | A data reader for the query results. |
GetStreamAsync<T>(Query, Func<IDataReader, T>, string, CancellationToken)
Executes a query and streams results as an async enumerable, avoiding full buffering in memory.
Declaration
IAsyncEnumerable<T> GetStreamAsync<T>(Query query, Func<IDataReader, T> fetchReader, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query | The Query object defining the SQL query. |
| Func<IDataReader, T> | fetchReader | A function to map each IDataReader row to a |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| IAsyncEnumerable<T> | An async stream of results; rows are yielded as they are read from the database. |
Type Parameters
| Name | Description |
|---|---|
| T | The type to map each data row to. |
GetStreamAsync<T>(string, Func<IDataReader, T>, List<SqlParameter>, int, string, CancellationToken)
Executes a raw SQL query string and streams results as an async enumerable, avoiding full buffering in memory.
Declaration
IAsyncEnumerable<T> GetStreamAsync<T>(string query, Func<IDataReader, T> fetchReader, List<SqlParameter> parameters = null, int count = 0, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| string | query | The raw SQL query string. |
| Func<IDataReader, T> | fetchReader | A function to map each IDataReader row to a |
| List<SqlParameter> | parameters | Optional SQL parameters; null if no parameters are needed. |
| int | count | Optional row limit; 0 means no limit. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| IAsyncEnumerable<T> | An async stream of results; rows are yielded as they are read from the database. |
Type Parameters
| Name | Description |
|---|---|
| T | The type to map each data row to. |
GetValueAsync(Query, string, CancellationToken)
Executes a query that returns a single scalar value (e.g., COUNT, SUM).
Declaration
Task<object> GetValueAsync(Query query, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Query | query | The Query object defining the SQL query. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task<object> | The scalar value returned by the query, or DBNull if no result. |
GetValueAsync(string, List<SqlParameter>, string, CancellationToken)
Executes a raw SQL query string that returns a single scalar value (e.g., COUNT, SUM).
Declaration
Task<object> GetValueAsync(string query, List<SqlParameter> parameters = null, string connectionString = null, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| string | query | The raw SQL query string. |
| List<SqlParameter> | parameters | Optional SQL parameters; null if no parameters are needed. |
| string | connectionString | Optional connection string; uses default if null. |
| CancellationToken | cancellationToken | A token to cancel the asynchronous operation. |
Returns
| Type | Description |
|---|---|
| Task<object> | The scalar value returned by the query, or DBNull if no result. |
ToBit(bool)
Converts a boolean value to a SQL bit integer representation (0 or 1).
Declaration
int ToBit(bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | value | The boolean value to convert. |
Returns
| Type | Description |
|---|---|
| int | An integer representation of the bit value (0 or 1). |
ToBitString(bool)
Converts a boolean value to a SQL bit string representation ('0' or '1').
Declaration
string ToBitString(bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | value | The boolean value to convert. |
Returns
| Type | Description |
|---|---|
| string | A string representation of the bit value. |
ToBool(char)
Converts a character representation of a bit value to a boolean.
Declaration
bool ToBool(char value)
Parameters
| Type | Name | Description |
|---|---|---|
| char | value | The character to convert ('0' or '1'). |
Returns
| Type | Description |
|---|---|
| bool | A boolean value. |
ToBool(int)
Converts an integer bit value to a boolean.
Declaration
bool ToBool(int value)
Parameters
| Type | Name | Description |
|---|---|---|
| int | value | The integer value to convert (0 or 1). |
Returns
| Type | Description |
|---|---|
| bool | A boolean value. |