Пример #1
0
        internal static void Create(Server server, string databaseName, string schemaAndView)
        {
            try
            {
                string   schemaName    = SqlTestTable.GetSchemaName(schemaAndView);
                string   viewName      = SqlTestTable.GetTableName(schemaAndView);
                Database database      = server.Databases[databaseName];
                View     viewToBeFaked = database.Views[viewName, schemaName];

                if (database.Views[$"{viewName}_Faked", schemaName] != null)
                {
                    Console.WriteLine($"View: {schemaAndView} has already been faked, dropping and restoring...");
                    FakeView.Drop(server, databaseName, schemaAndView);
                }

                if (viewToBeFaked == null)
                {
                    throw new Exception($"Error creating fake view:  View not found: {schemaAndView}");
                }

                Table fakeTable = new Table(database, viewName, schemaName);

                foreach (Column column in viewToBeFaked.Columns)
                {
                    Column copyofCol = new Column(fakeTable, column.Name, column.DataType);
                    fakeTable.Columns.Add(copyofCol);
                }
                viewToBeFaked.Rename($"{viewName}_Faked");
                fakeTable.Create();
            }
            catch (Exception e)
            {
                throw new Exception($"Error creating faked view '{schemaAndView}':  {e.Message}");
            }
        }
Пример #2
0
 public void DropFakeView(string schemaAndView)
 {
     FakeView.Drop(this.TargetServer, this.DatabaseName, schemaAndView);
 }
Пример #3
0
 public void CreateFakeView(string schemaAndVew)
 {
     FakeView.Create(this.TargetServer, this.DatabaseName, schemaAndVew);
 }