Beispiel #1
0
        public AdoResourceAccessor(IAdoResourceProvider resourceProvider,
                                   IAdoNameResolver nameResolver, IAdoValueReader valueReader,
                                   Transaction transaction)
        {
            if (resourceProvider == null)
            {
                throw new ArgumentNullException("resourceProvider");
            }

            if (nameResolver == null)
            {
                throw new ArgumentNullException("nameResolver");
            }

            if (valueReader == null)
            {
                throw new ArgumentNullException("valueReader");
            }

            this.resourceProvider = resourceProvider;
            this.nameResolver     = nameResolver;
            this.valueReader      = valueReader;

            if (transaction == null)
            {
                this.dbConnection = resourceProvider.CreateConnection();
                this.dbConnection.Open();
            }
            else
            {
                this.dbConnection = resourceProvider.CreateEnlistedConnection(transaction);
            }
        }
Beispiel #2
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);
        }
Beispiel #3
0
 public AdoResourceAccessor(IAdoResourceProvider resourceProvider,
                            IAdoNameResolver nameResolver, IAdoValueReader valueReader)
     : this(resourceProvider, nameResolver, valueReader, null)
 {
 }