DbColumn

static class · пространство имён z3n7 · исходник Db/DbExtencions.cs

public static class DbColumn

Добавление, удаление и перестановка колонок.

Методы

ClmnAdd

public static void ClmnAdd(this IZennoPosterProjectModel project, string clmnName, string tblName = null, bool log = false, string defaultValue = "TEXT DEFAULT ''")

Метод расширения для IZennoPosterProjectModel. исходник

Добавляет колонку, если её нет в таблице.

Параметр Описание
clmnName Колонка.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.
defaultValue Тип SQL новой колонки.
public static void ClmnAdd(this IZennoPosterProjectModel project, List<string> columns, string tblName, bool log = false, string defaultValue = "TEXT DEFAULT ''")

Метод расширения для IZennoPosterProjectModel. исходник

Добавляет каждую из перечисленных колонок, которой нет в таблице.

Параметр Описание
columns Колонки.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.
defaultValue Тип SQL новых колонок.
public static void ClmnAdd(this IZennoPosterProjectModel project, string[] columns, string tblName, bool log = false, string defaultValue = "TEXT DEFAULT ''")

Метод расширения для IZennoPosterProjectModel. исходник

Добавляет каждую из перечисленных колонок, которой нет в таблице.

Параметр Описание
columns Колонки.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.
defaultValue Тип SQL новых колонок.
public static void ClmnAdd(this IZennoPosterProjectModel project, Dictionary<string, string> tableStructure, string tblName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Добавляет каждую колонку из tableStructure, которой нет в таблице, с её типом.

Параметр Описание
tableStructure Колонка → тип SQL.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.

ClmnDrop

public static void ClmnDrop(this IZennoPosterProjectModel project, string clmnName, string tblName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Удаляет колонку, если она есть (на PostgreSQL с CASCADE).

Параметр Описание
clmnName Колонка.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.
public static void ClmnDrop(this IZennoPosterProjectModel project, Dictionary<string, string> tableStructure, string tblName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Удаляет каждую колонку, имя которой есть среди ключей tableStructure и которая есть в таблице.

Параметр Описание
tableStructure Колонка → тип; используются только ключи.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.

ClmnExist

public static bool ClmnExist(this IZennoPosterProjectModel project, string clmnName, string tblName, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Проверяет, есть ли колонка. На PostgreSQL без учёта регистра, на SQLite с учётом.

Параметр Описание
clmnName Колонка.
tblName Таблица.
log Писать запрос и его результат в лог проекта.

ClmnList

public static List<string> ClmnList(this IZennoPosterProjectModel project, string tableName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Имена колонок таблицы.

Параметр Описание
tableName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.

ClmnPrune

public static void ClmnPrune(this IZennoPosterProjectModel project, string tblName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Удаляет все колонки, кроме id, в которых ни в одной строке нет непустого значения.

Параметр Описание
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.
public static void ClmnPrune(this IZennoPosterProjectModel project, Dictionary<string, string> tableStructure, string tblName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Удаляет все колонки, которых нет среди ключей tableStructure (включая id, если его нет в списке).

Параметр Описание
tableStructure Какие колонки оставить.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.

ClmnRearrange

public static void ClmnRearrange(this IZennoPosterProjectModel project, Dictionary<string, string> tableStructure, string tblName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Переставляет колонки: сначала id, затем существующие колонки из tableStructure, затем остальные. Копирует данные в новую таблицу, удаляет старую и переименовывает новую. При ошибке временная таблица удаляется и бросается исключение.

Параметр Описание
tableStructure Нужный порядок.
tblName Таблица; по умолчанию project.ProjectTable() (__ + имя проекта).
log Писать запрос и его результат в лог проекта.
public static void ClmnRearrange(this IZennoPosterProjectModel project, List<string> projectColumns, string tblName = null, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Переставляет колонки по раскладке TblForProject(projectColumns).