示例#1
0
        /// <summary>
        /// Gets the database metadata associated to the specified provider name.
        /// </summary>
        /// <param name="providerName">Name of the provider.</param>
        /// <returns>The metadata instance for the specified name</returns>
        public override DbMetadata GetDbMetadata(string providerName)
        {
            List <string> deprecatedProviders = new List <string>
            {
                "Npgsql-10",
                "SqlServer-11"
            };

            if (deprecatedProviders.Contains(providerName))
            {
                throw new Exception(providerName + " provider is no longer supported.");
            }

            try
            {
                PropertiesParser    pp       = PropertiesParser.ReadFromEmbeddedAssemblyResource(resourceName);
                NameValueCollection props    = pp.GetPropertyGroup(propertyGroupName + "." + providerName, true);
                DbMetadata          metadata = new DbMetadata();

                ObjectUtils.SetObjectProperties(metadata, props);
                metadata.Init();

                return(metadata);
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error while reading metadata information for provider '" + providerName + "'", nameof(providerName), ex);
            }
        }
        /// <summary>
        /// Gets the database metadata associated to the specified provider name.
        /// </summary>
        /// <param name="providerName">Name of the provider.</param>
        /// <returns>The metadata instance for the specified name</returns>
        public override DbMetadata GetDbMetadata(string providerName)
        {
            try
            {
                PropertiesParser    pp       = GetPropertiesParser();
                NameValueCollection props    = pp.GetPropertyGroup(providerNamePrefix + "." + providerName, true);
                DbMetadata          metadata = new DbMetadata();

                ObjectUtils.SetObjectProperties(metadata, props);
                metadata.Init();

                return(metadata);
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error while reading metadata information for provider '" + providerName + "'", nameof(providerName), ex);
            }
        }