public void get_col_by_index() { var b = new CreateTableBuilder(Setup.GetDb(), new DDLStub(), "bla", IfTableExists.Throw); Assert.Throws<KeyNotFoundException>(() => b.Columns["id"]); b.Columns.Add("id", DbType.Int32); b.Columns["id"].IfDatabaseIs(DbEngine.SqlServer).RedefineColumnAs("bla"); Assert.True(b.Table.Columns["id"].IsRedefined(DbEngine.SqlServer)); Assert.Equal("bla",b.Table.Columns["id"].GetDefinition(DbEngine.SqlServer)); }
public void test() { var table = new CreateTableBuilder(Config.GetDb(),_ddl,"bla", IfTableExists.Ignore); table.Columns .Add("Id", DbType.Int32, isNullable: false, autoIncrement: true) .Add("Name", DbType.String, size: "50") .IfDatabaseIs(DbEngine.SqlServer).SetColumnOptions(SqlServerOptions.ColumnIs.Sparse()) .Add("ParentId",DbType.Int32,isNullable:false) .Add("Uid",DbType.Guid) ; table.Constraints.AddPrimaryKeyOn("Id") .IfDatabaseIs(DbEngine.SqlServer) .PrimaryKeyOptions(SqlServerOptions.PrimaryKeyIs.Clustered()); table.Constraints.AddForeignKeyOn("ParentId", "users", "Id", onDelete: ForeignKeyRelationCascade.Cascade); table.Constraints.AddCheck("Name like 'a%'","CK_bla_name"); table.Indexes.AddIndexOn("Name", true, "ix_name") .IfDatabaseIs(DbEngine.SqlServer) .SetOptions(SqlServerOptions.Index.NonClustered()); var s = table.GetSql(); Write(s); }