示例#1
0
 public async void EnumerateObjects()
 {
     if (this.Databases == null || this.Databases.Count == 0)
     {
         Status = ConnectionStatus.GettingDatabases;
         await EnumerateDatabases();
     }
     ErrorMessage = "";
     try
     {
         Status = ConnectionStatus.SearchingForObjects;
         var ctx = new SchemaDBContext(this);
         //var dbeez = Databases.Where(db => SearchAcrossAllDatabases || db.IsSelected);
         var dbeez = Databases.Where(db => db.IsSelected);
         Status = ConnectionStatus.SearchingForObjects;
         if (ClearObjectsBeforeLoadingResults)
         {
             this.EventAggregator.PublishOnUIThread(new ClearDBObjectsResultsMessage());
         }
         await ctx.EnumerateObjectsInDatabases(this, dbeez, ObjectNameQuery, ObjectSchemaQuery, ObjectDefinitionQuery, EventAggregator);
     }
     catch (Exception ex)
     {
         ErrorMessage = ex.ToString();
     }
     finally
     {
         Status = ConnectionStatus.Dormant;
     }
 }