예제 #1
0
        /// <summary>
        /// Given a provider name locate the necessary <see cref="IAdoNameResolver" />
        /// in the configuration file.
        /// </summary>
        /// <param name="providerName">
        /// The name that uniquely identifies an ADO.NET provider.
        /// </param>
        /// <returns>
        /// An <see cref="IAdoNameResolver" />.
        /// </returns>
        public static IAdoNameResolver Create(string providerName)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping =
                DbProviderSettings.Get(AdoWorkflowPersistenceService.ConfigurationSectionName)
                .NameResolvers.FindByProviderName(providerName);

            IAdoNameResolver nameResolver = null;

            if (mapping != null)
            {
                nameResolver = TypeUtilities.CreateInstance <IAdoNameResolver>(mapping.Type);
            }

            return(nameResolver);
        }
예제 #2
0
        /// <summary>
        /// Given a section name and provider name locate the necessary
        /// <see cref="IAdoValueReader" /> in the configuration file.
        /// </summary>
        /// <param name="sectionName">
        /// Configuration section to retrieve data from.
        /// </param>
        /// <param name="providerName">
        /// The name that uniquely identifies an ADO.NET provider.
        /// </param>
        /// <returns>
        /// An <see cref="IAdoValueReader" />.
        /// </returns>
        public static IAdoValueReader Create(string sectionName, string providerName)
        {
            // locate any mappings for the specified provider
            ProviderNameTypeMapping mapping = DbProviderSettings.Get(
                sectionName).ValueReaders.FindByProviderName(providerName);

            IAdoValueReader valueReader;

            if (mapping != null)
            {
                valueReader = TypeUtilities.CreateInstance <IAdoValueReader>(mapping.Type);
            }
            else
            {
                // no value reader mapping found in config
                // return the default value reader
                valueReader = new DefaultAdoValueReader();
            }

            return(valueReader);
        }