/// <summary> /// Without last and first commas and without both brackets. /// </summary> /// <param name="columns"></param> /// <returns></returns> public StringSQLBuilder AddInsertColumns(IEnumerable <string> columns) { var cBuilder = new ColumnsBuilder(this); Query = Query.Append(string.Join(",", columns)); return(this); }
public string Emit(Table table) { if (table.DefaultValues == null) { return(string.Empty); } bool bContainsIdentities; string columns = new ColumnsBuilder(table).BuildDefaultValues(out bContainsIdentities); StringBuilder str = new StringBuilder(); if (bContainsIdentities) { str.AppendFormat("\nSET IDENTITY_INSERT {0} ON\n", table.Name); } str.Append("\n"); foreach (DefaultValue val in table.DefaultValues.DefaultValueList) { str.Append(new TemplatePlatformEmitter("InsertDefaultValues", table.Name, columns, val.Value).Emit(val)); str.Append("\n"); } if (bContainsIdentities) { str.AppendFormat("\nSET IDENTITY_INSERT {0} OFF", table.Name); } str.Append("\n"); return(str.ToString()); }
protected void AddAuditableColumns(ColumnsBuilder table) { CreatedBy = AddStringColumn(table, "CreatedBy", 256); CreatedOn = AddDateTimeColumn(table, "CreatedOn"); ModifiedBy = AddStringColumn(table, "ModifiedBy", 256); ModifiedOn = AddDateTimeColumn(table, "ModifiedOn"); }
public ColumnsBuilderTest() { _columnConfigs = new Dictionary <string, ColumnConfig>(); _sortConfig = new SortingConfig(); _builderFactory = Substitute.For <IBuilderFactory>(); _builder = new ColumnsBuilder <TableEntity>(_columnConfigs, _sortConfig, _builderFactory); }
/// <summary> /// With open brackets, WITHOUT close brackets /// </summary> /// <param name="t"></param> /// <param name="tableAlias"></param> /// <returns></returns> public StringSQLBuilder InColumns(Type t, string tableAlias) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumns(t, tableAlias); Query = Query.Append("IN (", Columns); return(this); }
/// <summary> /// With open brackets, WITHOUT close brackets /// </summary> /// <param name="t"></param> /// <param name="tableAlias"></param> /// <returns></returns> public StringSQLBuilder AddInColumns(Type t) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumns(t); Query = Query.Append("IN (", Columns); return(this); }
/// <summary> /// Without last and first commas and without both brackets. /// </summary> /// <param name="t"></param> /// <returns></returns> public StringSQLBuilder AddInsertColumns(Type t) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumnsWOId(t); Query = Query.Append(Columns); return(this); }
public StringSQLBuilder AddSelectColumns(Type t, string tableAlias, IEnumerable <string> columnsAlias) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumns(t, tableAlias, columnsAlias); Query = Query.Append(",", Columns, " "); return(this); }
public StringSQLBuilder AddSelect(Type t, string tableAlias, IEnumerable <string> columnsAlias) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumns(t, tableAlias, columnsAlias); Query = $"SELECT {Columns} "; return(this); }
public StringSQLBuilder AddSelect(Type t) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumns(t); Query = $"SELECT {Columns} "; return(this); }
public StringSQLBuilder SelectColumns(Type t) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumns(t); Query = Query.Append(",", Columns, " "); return(this); }
/// <summary> /// With open brackets, WITHOUT close brackets /// </summary> /// <param name="t"></param> /// <returns></returns> public StringSQLBuilder InParameters(Type t) { var cBuilder = new ColumnsBuilder(this); cBuilder.GetAllColumns(t); MakeColumnsParameters(); Query = Query.Append("IN (", Columns); return(this); }
public StringSQLBuilder SelectColumns(Type t, string tableAlias, string columnsAlias) { var cBuilder = new ColumnsBuilder(this); string[] columnsAliasArray = new string[cBuilder.GetColumnsCount(t)]; for (int i = 0; i < cBuilder.GetColumnsCount(t); i++) { columnsAliasArray[i] = columnsAlias; } cBuilder.GetAllColumns(t, tableAlias, columnsAliasArray); Query = Query.Append(",", Columns, " "); return(this); }
public void ColumnConfig() { ColumnsBuilder <TableEntity> columnsBuilder = new ColumnsBuilder <TableEntity>(null, null, null); ColumnsBuilder <TableEntity> actionBuilder = null; Dictionary <string, ColumnConfig> config = null; SortingConfig sortingConfig = null; _builderFactory.ColumnsBuilder <TableEntity>(Arg.Do <Dictionary <string, ColumnConfig> >(c => config = c), Arg.Do <SortingConfig>(c => sortingConfig = c)).Returns(columnsBuilder); TableBuilder <TableEntity> builder = _builder.Columns(fb => actionBuilder = fb); this.RenderAndVerify(); _builderFactory.Received(1).ColumnsBuilder <TableEntity>(Arg.Any <Dictionary <string, ColumnConfig> >(), Arg.Any <SortingConfig>()); actionBuilder.Should().BeSameAs(columnsBuilder); config.Should().BeSameAs(_config.Columns); sortingConfig.Should().BeSameAs(_config.Sorting); builder.Should().BeSameAs(_builder); }
public virtual CreateTableBuilder <TColumns> CreateTable <TColumns>( [NotNull] string name, [NotNull] Func <ColumnsBuilder, TColumns> columns, [CanBeNull] string schema = null, [CanBeNull] Action <CreateTableBuilder <TColumns> > constraints = null) { Check.NotEmpty(name, nameof(name)); Check.NotNull(columns, nameof(columns)); var createTableOperation = new CreateTableOperation { Schema = schema, Name = name }; var columnsBuilder = new ColumnsBuilder(createTableOperation); var columnsObject = columns(columnsBuilder); var columnMap = new Dictionary <PropertyInfo, AddColumnOperation>(); foreach (var property in typeof(TColumns).GetTypeInfo().DeclaredProperties) { var addColumnOperation = ((IAccessor <AddColumnOperation>)property.GetMethod.Invoke(columnsObject, null)).Service; if (addColumnOperation.Name == null) { addColumnOperation.Name = property.Name; } columnMap.Add(property, addColumnOperation); } var builder = new CreateTableBuilder <TColumns>(createTableOperation, columnMap); if (constraints != null) { constraints(builder); } Operations.Add(createTableOperation); return(builder); }
public static CreateTableBuilder <TColumns> AppendColumns <TColumns>(this CreateTableOperation createTableOperation, Func <ColumnsBuilder, TColumns> columns, Action <CreateTableBuilder <TColumns> > constraints = null) { var columnsBuilder = new ColumnsBuilder(createTableOperation); var columnsObject = columns(columnsBuilder); var columnMap = new Dictionary <PropertyInfo, AddColumnOperation>(); foreach (var property in typeof(TColumns).GetTypeInfo().DeclaredProperties) { var addColumnOperation = ((IInfrastructure <AddColumnOperation>)property.GetMethod.Invoke(columnsObject, null)).Instance; if (addColumnOperation.Name == null) { addColumnOperation.Name = property.Name; } columnMap.Add(property, addColumnOperation); } var builder = new CreateTableBuilder <TColumns>(createTableOperation, columnMap); constraints?.Invoke(builder); return(builder); }
protected abstract TEntityBuilder BuildTable(ColumnsBuilder table);
public override OperationBuilder <AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name) { return(table.Column <int>(name: name, nullable: false).Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityAlwaysColumn)); }
protected void AddDeletableColumns(ColumnsBuilder table) { DeletedBy = AddStringColumn(table, "DeletedBy", 256, true); DeletedOn = AddDateTimeColumn(table, "DeletedOn", true); IsDeleted = AddBooleanColumn(table, "IsDeleted"); }
public abstract OperationBuilder <AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name);
public override OperationBuilder <AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name) { return(table.Column <int>(name: name, nullable: false).Annotation("SqlServer:Identity", "1, 1")); }
public override OperationBuilder <AddColumnOperation> AddAutoIncrementColumn(ColumnsBuilder table, string name) { return(table.Column <int>(name: name, nullable: false).Annotation("Sqlite:Autoincrement", true)); }
public static OperationBuilder <AddColumnOperation> PK_Column <TType>(this ColumnsBuilder table) { return(table.Column <TType>(nullable: false).Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn)); }