/// <summary> /// Добавляет новый столбец с именем на основе свойства или поля, переданного в выражении <paramref name="columnAccessor"/>, в таблицу с именем на основе типа <typeparamref name="TTable"/> в схеме <paramref name="schema"/>, если такой столбец не существует. /// При добавлении столбца вызывается лямбда-метод <paramref name="columnFluentCallback"/> для определения дополнительных признаков столбца. /// </summary> protected void AddColumnIfNotExists <TTable, TProperty>(ISchemaExpressionRoot schema, Expression <Func <TTable, TProperty> > columnAccessor, Action <IAlterTableColumnAsTypeSyntax> columnFluentCallback) { if (!Schema.Table <TTable>().Column(columnAccessor).Exists()) { columnFluentCallback(Alter.Table <TTable>().AddColumn(columnAccessor)); } }
public static bool Exists(this ISchemaExpressionRoot syntax, string schema, string table) { return(syntax.Schema(schema).Table(table).Exists()); }
/// <summary> /// Определяет таблицу с именем на основе типа <typeparamref name="TTable"/> как базу для определения существования объектов базы данных. /// </summary> /// <returns>См. <see cref="ISchemaExpressionRoot.Table(string)"/>.</returns> /// <remarks>В качестве имени таблицы используется значение атрибута <see cref="TableAttribute"/> или имя типа в единственном числе.</remarks> public static ISchemaTableSyntax Table <TTable>(this ISchemaExpressionRoot schema) { return(schema.Table(GetTableName <TTable>())); }
public static ISchemaSchemaSyntax AppSchema(this ISchemaExpressionRoot schemaExpressionRoot) { return(schemaExpressionRoot.Schema(Name)); }
public static bool AppSchemaExists(this ISchemaExpressionRoot schemaExpressionRoot) { return(schemaExpressionRoot.Schema(Name).Exists() && !Program.PreviewOnly); }