public override void LoadObjects(MetadataList objects, MetadataLoadingOptions loadingOptions) { MetadataItem obj = objects.Parent; if (obj.Schema == null && obj.Database == null && obj.Server == null) { if (!Connected) { Connect(); } try { // load tables DataTable schemaTable = _connection.GetSchema(VistaDBConnection.SchemaConstants.SCHEMA_TABLES); MetadataObjectFetcherFromDatatable mof = new MetadataObjectFetcherFromDatatable(objects, loadingOptions); mof.NameFieldName = "TABLE_NAME"; mof.TypeFieldName = "TABLE_TYPE"; mof.TableType = new string[] { VistaDBConnection.UserTableType }; mof.SystemTableType = new string[] { VistaDBConnection.SystemTableType }; mof.Datatable = schemaTable; mof.LoadMetadata(); // load views schemaTable = _connection.GetSchema(VistaDBConnection.SchemaConstants.SCHEMA_VIEWS, null); mof = new MetadataObjectFetcherFromDatatable(objects, loadingOptions); mof.NameFieldName = "TABLE_NAME"; mof.Datatable = schemaTable; mof.DefaultObjectType = MetadataType.View; mof.LoadMetadata(); } catch (Exception exception) { throw new QueryBuilderException(exception.Message, exception); } } }