Example #1
0
        public static ICreateTableStatementBuilder WithColumn(this ICreateTableStatementBuilder builder, Action <IColumnBuilder> column)
        {
            var columnBuilder = new ColumnBuilder();

            column(columnBuilder);

            ColumnConstraintInfo constraint;
            var columnResult = columnBuilder.Build(out constraint);

            if (constraint != null)
            {
                builder.WithConstraint(new SqlTableConstraint(constraint.ConstraintType, new [] { columnResult.ColumnName })
                {
                    ReferenceTable   = constraint.ReferencedTable == null ? null : constraint.ReferencedTable.ToString(),
                    ReferenceColumns = new [] { constraint.ReferencedColumnName },
                    OnUpdate         = constraint.ActionOnUpdate,
                    OnDelete         = constraint.ActionOnDelete
                });
            }

            return(builder.WithColumn(columnResult));
        }
Example #2
0
 public static ICreateTableStatementBuilder WithIdentityColumn(this ICreateTableStatementBuilder builder, string columnName, SqlType columnType)
 {
     return(builder.WithColumn(column => column.Named(columnName).OfType(columnType).NotNull().Identity().PrimaryKey()));
 }
Example #3
0
 public static ICreateTableStatementBuilder Named(this ICreateTableStatementBuilder builder, string tableName)
 {
     return(builder.Named(ObjectName.Parse(tableName)));
 }
Example #4
0
 public static ICreateTableStatementBuilder WithColumn(this ICreateTableStatementBuilder builder, string columnName, SqlType columnType)
 {
     return(builder.WithColumn(column => column.Named(columnName).OfType(columnType)));
 }
Example #5
0
 public static ICreateTableStatementBuilder Named(this ICreateTableStatementBuilder builder, ObjectName parentName, string tableName)
 {
     return(builder.Named(new ObjectName(parentName, tableName)));
 }