Example #1
0
        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));
        }
Example #2
0
        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);          
        }