/// <summary> /// Refreshes the <see cref="MetadataProviderBase.Metadata"/> from an OLE DB data store. /// </summary> /// <exception cref="ArgumentNullException"><see cref="ConnectionString"/> or <see cref="SelectString"/> is set to a null or empty string.</exception> protected override void RefreshMetadata() { if (string.IsNullOrEmpty(m_connectionString)) throw new ArgumentNullException("ConnectionString"); if (string.IsNullOrEmpty(m_selectString)) throw new ArgumentNullException("SelectString"); OleDbConnection connection = new OleDbConnection(m_connectionString); try { // Open OleDb connection. connection.Open(); // Update existing metadata. MetadataUpdater metadataUpdater = new MetadataUpdater(Metadata); metadataUpdater.UpdateMetadata(connection.ExecuteReader(m_selectString)); } finally { if (connection != null) connection.Dispose(); } }