20230818-1

This commit is contained in:
2023-08-18 23:05:27 +03:00
parent 4617d02649
commit 2fdb100ee0
2 changed files with 92 additions and 13 deletions

View File

@@ -37,15 +37,38 @@ public interface IDbEngine
#endregion
#region Получение
Task<IEnumerable<T>> SelectAsync<T> (string table, string[] columns, List<KeyValue<string, string>> where, string? orderBy = null);
Task<T> SelectRowAsync<T> (string table, List<string> columns, KeyValue<string, string> where, string? orderBy = null);
/// <summary>
/// Выборка данных из таблицы
/// </summary>
/// <typeparam name="T">Тип данных</typeparam>
/// <param name="table">Имя таблицы</param>
/// <param name="columns">Выбор столбцов таблицы, которые должны попасть в выборку (пустая -- все)</param>
/// <param name="where">Массив значений столбцов, которые должны попасть в выборку</param>
/// <param name="orderBy">Сортировка</param>
/// <param name="limit">Сколько максимально элементов должно быть в выборке (0 -- без ограничения)</param>
/// <returns>Массив типа <see cref="T"/></returns>
Task<IEnumerable<T>> SelectAsync<T> (string table, string[] columns, List<KeyValue<string, string>> where, string? orderBy, int limit = 0);
/// <summary>
/// Выборка строки из таблицы
/// </summary>
/// <typeparam name="T">Тип данных</typeparam>
/// <param name="table">Имя таблицы</param>
/// <param name="columns">Выбор столбцов таблицы, которые должны попасть в выборку (пустая -- все)</param>
/// <param name="where">Массив значений столбцов, которые должны попасть в выборку</param>
/// <param name="orderBy">Сортировка</param>
/// <returns>Тип <see cref="T"/> или null</returns>
Task<T?> SelectRowAsync<T> (string table, string[] columns, List<KeyValue<string, string>> where, string? orderBy = null);
#endregion
#region Вычисление числа элементов в таблице
/// <summary>
/// Вычисляет число строк в таблице <paramref name="table"/>
/// </summary>
/// <param name="table">Таблица</param>
/// <returns>Число строк в таблице <paramref name="table"/></returns>
Task<int> CountAsync (string table);
#endregion
#region Добавление строки в таблицу