public void CreateTable()
		{
			DataBase db = Connect();
			var generator = new OKHOSTING.Sql.Net4.SqlServer.SqlGenerator();

			//define table schema
			Table table = new Table("test1");

			table.Columns.Add(new Column() { Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, Table = table, IsAutoNumber = true });
			table.Columns.Add(new Column() { Name = "TextField", DbType = DbType.AnsiString, Length = 100, IsNullable = false, Table = table });
			table.Columns.Add(new Column() { Name = "NumberField", DbType = DbType.Int32, IsNullable = false, Table = table });
			table.Indexes.Add(new Index() { Name = "IX_TextField", Unique = false, Table = table });
			table.Indexes[0].Columns.Add(table["TextField"]);

			//create
			var sql = generator.Create(table);
			db.Execute(sql);
			Assert.IsTrue(db.ExistsTable(table.Name));

			//add index
			sql = generator.Create(table.Indexes[0]);
			db.Execute(sql);

			//insert
			Insert insert = new Insert();
			insert.Table = table;
			//insert.Values.Add(new ColumnValue(table["Id"], 1));
			insert.Values.Add(new ColumnValue(table["TextField"], "test11"));
			insert.Values.Add(new ColumnValue(table["NumberField"], 100));

			sql = generator.Insert(insert);
			int affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//insert
			insert = new Insert();
			insert.Table = table;
			//insert.Values.Add(new ColumnValue(table["Id"], 2));
			insert.Values.Add(new ColumnValue(table["TextField"], "test15"));
			insert.Values.Add(new ColumnValue(table["NumberField"], 110));

			sql = generator.Insert(insert);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//select
			Select select = new Select();
			select.Table = table;
			select.Columns.Add(table["id"]);
			select.Columns.Add(table["TextField"]);
			select.Where.Add(new ValueCompareFilter() { Column = table["TextField"], ValueToCompare = "test11", Operator = Data.CompareOperator.Equal });

			sql = generator.Select(select);
			var result = db.GetDataTable(sql);
			Assert.AreEqual(result.Count, 1);

			//update
			Update update = new Update();
			update.Table = table;
			update.Where.Add(new ValueCompareFilter() { Column = table["TextField"], ValueToCompare = "test11" });


			//delete
			Delete delete = new Delete();
			delete.Table = table;
			delete.Where.Add(new ValueCompareFilter() { Column = table["TextField"], ValueToCompare = "test11" });

			sql = generator.Delete(delete);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//drop
			sql = generator.Drop(table);
			db.Execute(sql);
			Assert.IsFalse(db.ExistsTable(table.Name));
		}
		public void TablesTest()
		{
			DataBase db = Connect();
			var generator = new OKHOSTING.Sql.Net4.SqlServer.SqlGenerator();

			//Create table team			
			Table team = new Table("team");
			team.Columns.Add(new Column() { Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = team });
			team.Columns.Add(new Column() { Name = "Name", DbType = DbType.AnsiString, Length = 50, IsNullable = false, Table = team });
			team.Columns.Add(new Column() { Name = "Leage", DbType = DbType.Int32, IsNullable = false, Table = team });
			team.Columns.Add(new Column() { Name = "Country", DbType = DbType.Int32, IsNullable = false, Table = team });

			//Create table leage
			Table leage = new Table("leage");
			leage.Columns.Add(new Column() { Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = leage });
			leage.Columns.Add(new Column() { Name = "Name", DbType = DbType.AnsiString, IsNullable = false, Table = leage });

			//Create table country
			Table country = new Table("country");
			country.Columns.Add(new Column() { Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = country });
			country.Columns.Add(new Column() { Name = "Name", DbType = DbType.AnsiString, IsNullable = false, Table = country });

			//Create ForeignKey FK_team_country
			ForeignKey countryFK = new ForeignKey();
			countryFK.Table = team;
			countryFK.RemoteTable = country;
			countryFK.Name = "FK_team_country";
			countryFK.Columns.Add(new Tuple<Column, Column>(team["Country"], country["Id"]));
			countryFK.DeleteAction = countryFK.UpdateAction = ConstraintAction.Restrict;

			//Create ForeignKey FK_team_leage
			ForeignKey leageFK = new ForeignKey();
			leageFK.Table = team;
			leageFK.RemoteTable = leage;
			leageFK.Name = "FK_team_leage";
			leageFK.Columns.Add(new Tuple<Column, Column>(team["Leage"], leage["Id"]));
			leageFK.DeleteAction = countryFK.UpdateAction = ConstraintAction.Restrict;

			Command sql = generator.Create(team);
			db.Execute(sql);

			sql = generator.Create(leage);
			db.Execute(sql);

			sql = generator.Create(country);
			db.Execute(sql);

			//insert Country
			Insert insert = new Insert();
			insert.Table = country;
			insert.Values.Add(new ColumnValue(country["Id"], 15));
			insert.Values.Add(new ColumnValue(country["Name"], "Argentina"));

			sql = generator.Insert(insert);
			int affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			insert = new Insert();
			insert.Table = country;
			insert.Values.Add(new ColumnValue(country["Id"], 10));
			insert.Values.Add(new ColumnValue(country["Name"], "Brasil"));

			sql = generator.Insert(insert);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//insert leage
			insert = new Insert();
			insert.Table = leage;
			insert.Values.Add(new ColumnValue(leage["Id"], 100));
			insert.Values.Add(new ColumnValue(leage["Name"], "Champions"));

			sql = generator.Insert(insert);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			insert = new Insert();
			insert.Table = leage;
			insert.Values.Add(new ColumnValue(leage["Id"], 110));
			insert.Values.Add(new ColumnValue(leage["Name"], "Concacaff"));

			sql = generator.Insert(insert);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//insert team
			insert = new Insert();
			insert.Table = team;
			insert.Values.Add(new ColumnValue(team["Id"], 1));
			insert.Values.Add(new ColumnValue(team["Name"], "Barza"));
			insert.Values.Add(new ColumnValue(team["Leage"], 100));
			insert.Values.Add(new ColumnValue(team["Country"], 10));

			sql = generator.Insert(insert);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			insert = new Insert();
			insert.Table = team;
			insert.Values.Add(new ColumnValue(team["Id"], 2));
			insert.Values.Add(new ColumnValue(team["Name"], "Pumas"));
			insert.Values.Add(new ColumnValue(team["Leage"], 110));
			insert.Values.Add(new ColumnValue(team["Country"], 15));

			sql = generator.Insert(insert);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//select
			Select select = new Select();
			select.Table = team;
			select.Columns.Add(new SelectColumn(team["id"]));
			select.Columns.Add(new SelectColumn(team["Name"]));

			//Create inner join to country
			SelectJoin join = new SelectJoin();
			join.Table = country;
			join.On.Add(new ColumnCompareFilter() { Column = team["country"], ColumnToCompare = country["id"], Operator = Data.CompareOperator.Equal });
			join.Columns.Add(new SelectColumn(country["name"], "countryName"));
			join.JoinType = SelectJoinType.Inner;

			select.Joins.Add(join);

			//Create inner join to leage
			SelectJoin join2 = new SelectJoin();
			join2.Table = leage;
			join2.On.Add(new ColumnCompareFilter() { Column = team["leage"], ColumnToCompare = leage["id"], Operator = Data.CompareOperator.Equal });
			join2.Columns.Add(new SelectColumn(leage["name"], "leageName"));
			join2.JoinType = SelectJoinType.Inner;

			select.Joins.Add(join2);

			select.Where.Add(new ValueCompareFilter() { Column = team["Name"], ValueToCompare = "Pumas", Operator = Data.CompareOperator.Equal });
			sql = generator.Select(select);
			var result = db.GetDataTable(sql);

			//delete column id in table leage where id = 110
			Delete delete = new Delete();
			delete.Table = leage;
			delete.Where.Add(new ValueCompareFilter() { Column = leage["id"], ValueToCompare = 110, Operator = Data.CompareOperator.Equal });

			sql = generator.Delete(delete);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//drop table leage
			sql = generator.Drop(leage);
			db.Execute(sql);
			Assert.IsFalse(db.ExistsTable(leage.Name));

			//drop table country
			sql = generator.Drop(country);
			db.Execute(sql);
			Assert.IsFalse(db.ExistsTable(country.Name));

			//drop table team
			sql = generator.Drop(team);
			db.Execute(sql);
			Assert.IsFalse(db.ExistsTable(team.Name));
		}
		public void dropRow()
		{
			//Open connect to database;
			DataBase db = Connect();
			var generator = new OKHOSTING.Sql.Net4.SqlServer.SqlGenerator();

			//define table customer
			Table table = new Table("test4");

			table.Columns.Add(new Column() { Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = table });
			table.Columns.Add(new Column() { Name = "Company", DbType = DbType.AnsiString, Length = 200, IsNullable = false, Table = table });
			table.Columns.Add(new Column() { Name = "Address", DbType = DbType.AnsiString, Length = 500, IsNullable = false, Table = table });
			table.Columns.Add(new Column() { Name = "Email", DbType = DbType.AnsiString, Length = 100, IsNullable = false, Table = table });
			table.Columns.Add(new Column() { Name = "Telephone", DbType = DbType.AnsiString, Length = 20, IsNullable = false, Table = table });
			table.Indexes.Add(new Index() { Name = "IX_Company", Unique = true, Table = table });
			table.Indexes[0].Columns.Add(table["Company"]);

			//create table customer
			var sql = generator.Create(table);
			db.Execute(sql);
			Assert.IsTrue(db.ExistsTable(table.Name));

			//add index
			sql = generator.Create(table.Indexes[0]);
			db.Execute(sql);

			//insert values into test3
			Insert insert = new Insert();
			insert.Table = table;
			insert.Values.Add(new ColumnValue(table["Company"], "Monsters Inc. Corporate"));
			insert.Values.Add(new ColumnValue(table["Address"], "First Street #12 Blv. Flowers San Diego. C.A."));
			insert.Values.Add(new ColumnValue(table["Email"], "*****@*****.**"));
			insert.Values.Add(new ColumnValue(table["Telephone"], "0122389456278"));

			sql = generator.Insert(insert);
			int affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//insert values into test3
			insert = new Insert();
			insert.Table = table;
			insert.Values.Add(new ColumnValue(table["Company"], "Baby tunes SA de CV"));
			insert.Values.Add(new ColumnValue(table["Address"], "Paid Call #202 Blv. Saint, James Tucson. Arizona"));
			insert.Values.Add(new ColumnValue(table["Email"], "*****@*****.**"));
			insert.Values.Add(new ColumnValue(table["Telephone"], "012235656178"));

			sql = generator.Insert(insert);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);

			//delete row from customer.company = Monsters Inc. Corporate
			Delete delete = new Delete();
			delete.Table = table;
			delete.Where.Add(new ValueCompareFilter() { Column = table["Company"], ValueToCompare = "Monsters Inc. Corporate", Operator = Data.CompareOperator.Equal });

			sql = generator.Delete(delete);
			affectedRows = db.Execute(sql);
			Assert.AreEqual(affectedRows, 1);
		}
        public void dropRow()
        {
            //Open connect to database;
            DataBase db        = Connect();
            var      generator = new OKHOSTING.Sql.Net4.SqlServer.SqlGenerator();

            //define table customer
            Table table = new Table("test4");

            table.Columns.Add(new Column()
            {
                Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = table
            });
            table.Columns.Add(new Column()
            {
                Name = "Company", DbType = DbType.AnsiString, Length = 200, IsNullable = false, Table = table
            });
            table.Columns.Add(new Column()
            {
                Name = "Address", DbType = DbType.AnsiString, Length = 500, IsNullable = false, Table = table
            });
            table.Columns.Add(new Column()
            {
                Name = "Email", DbType = DbType.AnsiString, Length = 100, IsNullable = false, Table = table
            });
            table.Columns.Add(new Column()
            {
                Name = "Telephone", DbType = DbType.AnsiString, Length = 20, IsNullable = false, Table = table
            });
            table.Indexes.Add(new Index()
            {
                Name = "IX_Company", Unique = true, Table = table
            });
            table.Indexes[0].Columns.Add(table["Company"]);

            //create table customer
            var sql = generator.Create(table);

            db.Execute(sql);
            Assert.IsTrue(db.ExistsTable(table.Name));

            //add index
            sql = generator.Create(table.Indexes[0]);
            db.Execute(sql);

            //insert values into test3
            Insert insert = new Insert();

            insert.Table = table;
            insert.Values.Add(new ColumnValue(table["Company"], "Monsters Inc. Corporate"));
            insert.Values.Add(new ColumnValue(table["Address"], "First Street #12 Blv. Flowers San Diego. C.A."));
            insert.Values.Add(new ColumnValue(table["Email"], "*****@*****.**"));
            insert.Values.Add(new ColumnValue(table["Telephone"], "0122389456278"));

            sql = generator.Insert(insert);
            int affectedRows = db.Execute(sql);

            Assert.AreEqual(affectedRows, 1);

            //insert values into test3
            insert       = new Insert();
            insert.Table = table;
            insert.Values.Add(new ColumnValue(table["Company"], "Baby tunes SA de CV"));
            insert.Values.Add(new ColumnValue(table["Address"], "Paid Call #202 Blv. Saint, James Tucson. Arizona"));
            insert.Values.Add(new ColumnValue(table["Email"], "*****@*****.**"));
            insert.Values.Add(new ColumnValue(table["Telephone"], "012235656178"));

            sql          = generator.Insert(insert);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            //delete row from customer.company = Monsters Inc. Corporate
            Delete delete = new Delete();

            delete.Table = table;
            delete.Where.Add(new ValueCompareFilter()
            {
                Column = table["Company"], ValueToCompare = "Monsters Inc. Corporate", Operator = Data.CompareOperator.Equal
            });

            sql          = generator.Delete(delete);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);
        }
        public void TablesTest()
        {
            DataBase db        = Connect();
            var      generator = new OKHOSTING.Sql.Net4.SqlServer.SqlGenerator();

            //Create table team
            Table team = new Table("team");

            team.Columns.Add(new Column()
            {
                Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = team
            });
            team.Columns.Add(new Column()
            {
                Name = "Name", DbType = DbType.AnsiString, Length = 50, IsNullable = false, Table = team
            });
            team.Columns.Add(new Column()
            {
                Name = "Leage", DbType = DbType.Int32, IsNullable = false, Table = team
            });
            team.Columns.Add(new Column()
            {
                Name = "Country", DbType = DbType.Int32, IsNullable = false, Table = team
            });

            //Create table leage
            Table leage = new Table("leage");

            leage.Columns.Add(new Column()
            {
                Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = leage
            });
            leage.Columns.Add(new Column()
            {
                Name = "Name", DbType = DbType.AnsiString, IsNullable = false, Table = leage
            });

            //Create table country
            Table country = new Table("country");

            country.Columns.Add(new Column()
            {
                Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, IsAutoNumber = true, Table = country
            });
            country.Columns.Add(new Column()
            {
                Name = "Name", DbType = DbType.AnsiString, IsNullable = false, Table = country
            });

            //Create ForeignKey FK_team_country
            ForeignKey countryFK = new ForeignKey();

            countryFK.Table       = team;
            countryFK.RemoteTable = country;
            countryFK.Name        = "FK_team_country";
            countryFK.Columns.Add(new Tuple <Column, Column>(team["Country"], country["Id"]));
            countryFK.DeleteAction = countryFK.UpdateAction = ConstraintAction.Restrict;

            //Create ForeignKey FK_team_leage
            ForeignKey leageFK = new ForeignKey();

            leageFK.Table       = team;
            leageFK.RemoteTable = leage;
            leageFK.Name        = "FK_team_leage";
            leageFK.Columns.Add(new Tuple <Column, Column>(team["Leage"], leage["Id"]));
            leageFK.DeleteAction = countryFK.UpdateAction = ConstraintAction.Restrict;

            Command sql = generator.Create(team);

            db.Execute(sql);

            sql = generator.Create(leage);
            db.Execute(sql);

            sql = generator.Create(country);
            db.Execute(sql);

            //insert Country
            Insert insert = new Insert();

            insert.Table = country;
            insert.Values.Add(new ColumnValue(country["Id"], 15));
            insert.Values.Add(new ColumnValue(country["Name"], "Argentina"));

            sql = generator.Insert(insert);
            int affectedRows = db.Execute(sql);

            Assert.AreEqual(affectedRows, 1);

            insert       = new Insert();
            insert.Table = country;
            insert.Values.Add(new ColumnValue(country["Id"], 10));
            insert.Values.Add(new ColumnValue(country["Name"], "Brasil"));

            sql          = generator.Insert(insert);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            //insert leage
            insert       = new Insert();
            insert.Table = leage;
            insert.Values.Add(new ColumnValue(leage["Id"], 100));
            insert.Values.Add(new ColumnValue(leage["Name"], "Champions"));

            sql          = generator.Insert(insert);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            insert       = new Insert();
            insert.Table = leage;
            insert.Values.Add(new ColumnValue(leage["Id"], 110));
            insert.Values.Add(new ColumnValue(leage["Name"], "Concacaff"));

            sql          = generator.Insert(insert);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            //insert team
            insert       = new Insert();
            insert.Table = team;
            insert.Values.Add(new ColumnValue(team["Id"], 1));
            insert.Values.Add(new ColumnValue(team["Name"], "Barza"));
            insert.Values.Add(new ColumnValue(team["Leage"], 100));
            insert.Values.Add(new ColumnValue(team["Country"], 10));

            sql          = generator.Insert(insert);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            insert       = new Insert();
            insert.Table = team;
            insert.Values.Add(new ColumnValue(team["Id"], 2));
            insert.Values.Add(new ColumnValue(team["Name"], "Pumas"));
            insert.Values.Add(new ColumnValue(team["Leage"], 110));
            insert.Values.Add(new ColumnValue(team["Country"], 15));

            sql          = generator.Insert(insert);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            //select
            Select select = new Select();

            select.Table = team;
            select.Columns.Add(new SelectColumn(team["id"]));
            select.Columns.Add(new SelectColumn(team["Name"]));

            //Create inner join to country
            SelectJoin join = new SelectJoin();

            join.Table = country;
            join.On.Add(new ColumnCompareFilter()
            {
                Column = team["country"], ColumnToCompare = country["id"], Operator = Data.CompareOperator.Equal
            });
            join.Columns.Add(new SelectColumn(country["name"], "countryName"));
            join.JoinType = SelectJoinType.Inner;

            select.Joins.Add(join);

            //Create inner join to leage
            SelectJoin join2 = new SelectJoin();

            join2.Table = leage;
            join2.On.Add(new ColumnCompareFilter()
            {
                Column = team["leage"], ColumnToCompare = leage["id"], Operator = Data.CompareOperator.Equal
            });
            join2.Columns.Add(new SelectColumn(leage["name"], "leageName"));
            join2.JoinType = SelectJoinType.Inner;

            select.Joins.Add(join2);

            select.Where.Add(new ValueCompareFilter()
            {
                Column = team["Name"], ValueToCompare = "Pumas", Operator = Data.CompareOperator.Equal
            });
            sql = generator.Select(select);
            var result = db.GetDataTable(sql);

            //delete column id in table leage where id = 110
            Delete delete = new Delete();

            delete.Table = leage;
            delete.Where.Add(new ValueCompareFilter()
            {
                Column = leage["id"], ValueToCompare = 110, Operator = Data.CompareOperator.Equal
            });

            sql          = generator.Delete(delete);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            //drop table leage
            sql = generator.Drop(leage);
            db.Execute(sql);
            Assert.IsFalse(db.ExistsTable(leage.Name));

            //drop table country
            sql = generator.Drop(country);
            db.Execute(sql);
            Assert.IsFalse(db.ExistsTable(country.Name));

            //drop table team
            sql = generator.Drop(team);
            db.Execute(sql);
            Assert.IsFalse(db.ExistsTable(team.Name));
        }
        public void CreateTable()
        {
            DataBase db        = Connect();
            var      generator = new OKHOSTING.Sql.Net4.SqlServer.SqlGenerator();

            //define table schema
            Table table = new Table("test1");

            table.Columns.Add(new Column()
            {
                Name = "Id", DbType = DbType.Int32, IsPrimaryKey = true, Table = table, IsAutoNumber = true
            });
            table.Columns.Add(new Column()
            {
                Name = "TextField", DbType = DbType.AnsiString, Length = 100, IsNullable = false, Table = table
            });
            table.Columns.Add(new Column()
            {
                Name = "NumberField", DbType = DbType.Int32, IsNullable = false, Table = table
            });
            table.Indexes.Add(new Index()
            {
                Name = "IX_TextField", Unique = false, Table = table
            });
            table.Indexes[0].Columns.Add(table["TextField"]);

            //create
            var sql = generator.Create(table);

            db.Execute(sql);
            Assert.IsTrue(db.ExistsTable(table.Name));

            //add index
            sql = generator.Create(table.Indexes[0]);
            db.Execute(sql);

            //insert
            Insert insert = new Insert();

            insert.Table = table;
            //insert.Values.Add(new ColumnValue(table["Id"], 1));
            insert.Values.Add(new ColumnValue(table["TextField"], "test11"));
            insert.Values.Add(new ColumnValue(table["NumberField"], 100));

            sql = generator.Insert(insert);
            int affectedRows = db.Execute(sql);

            Assert.AreEqual(affectedRows, 1);

            //insert
            insert       = new Insert();
            insert.Table = table;
            //insert.Values.Add(new ColumnValue(table["Id"], 2));
            insert.Values.Add(new ColumnValue(table["TextField"], "test15"));
            insert.Values.Add(new ColumnValue(table["NumberField"], 110));

            sql          = generator.Insert(insert);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            //select
            Select select = new Select();

            select.Table = table;
            select.Columns.Add(table["id"]);
            select.Columns.Add(table["TextField"]);
            select.Where.Add(new ValueCompareFilter()
            {
                Column = table["TextField"], ValueToCompare = "test11", Operator = Data.CompareOperator.Equal
            });

            sql = generator.Select(select);
            var result = db.GetDataTable(sql);

            Assert.AreEqual(result.Count, 1);

            //update
            Update update = new Update();

            update.Table = table;
            update.Where.Add(new ValueCompareFilter()
            {
                Column = table["TextField"], ValueToCompare = "test11"
            });


            //delete
            Delete delete = new Delete();

            delete.Table = table;
            delete.Where.Add(new ValueCompareFilter()
            {
                Column = table["TextField"], ValueToCompare = "test11"
            });

            sql          = generator.Delete(delete);
            affectedRows = db.Execute(sql);
            Assert.AreEqual(affectedRows, 1);

            //drop
            sql = generator.Drop(table);
            db.Execute(sql);
            Assert.IsFalse(db.ExistsTable(table.Name));
        }