Ejemplo n.º 1
0
 /// <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());
 }
Ejemplo n.º 3
0
 /// <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>()));
 }
Ejemplo n.º 4
0
 public static ISchemaSchemaSyntax AppSchema(this ISchemaExpressionRoot schemaExpressionRoot)
 {
     return(schemaExpressionRoot.Schema(Name));
 }
Ejemplo n.º 5
0
 public static bool AppSchemaExists(this ISchemaExpressionRoot schemaExpressionRoot)
 {
     return(schemaExpressionRoot.Schema(Name).Exists() && !Program.PreviewOnly);
 }