private static object CreateObject(DbProviderFactory factory, ProviderSupportedClasses kindOfObject, string providerName) { switch (kindOfObject) { case ProviderSupportedClasses.DbConnection: return(factory.CreateConnection()); case ProviderSupportedClasses.DbDataAdapter: return(factory.CreateDataAdapter()); case ProviderSupportedClasses.DbParameter: return(factory.CreateParameter()); case ProviderSupportedClasses.DbCommand: return(factory.CreateCommand()); case ProviderSupportedClasses.DbCommandBuilder: return(factory.CreateCommandBuilder()); case ProviderSupportedClasses.DbDataSourceEnumerator: return(factory.CreateDataSourceEnumerator()); case ProviderSupportedClasses.CodeAccessPermission: return(factory.CreatePermission(PermissionState.None)); } throw new InternalException(string.Format(CultureInfo.CurrentCulture, "Cannot create object of provider class identified by enum {0} for provider {1}", new object[] { Enum.GetName(typeof(ProviderSupportedClasses), kindOfObject), providerName })); }
private static object CreateObject(DbProviderFactory factory, ProviderSupportedClasses kindOfObject, string providerName) { switch (kindOfObject) { case ProviderSupportedClasses.DbConnection: return factory.CreateConnection(); case ProviderSupportedClasses.DbDataAdapter: return factory.CreateDataAdapter(); case ProviderSupportedClasses.DbParameter: return factory.CreateParameter(); case ProviderSupportedClasses.DbCommand: return factory.CreateCommand(); case ProviderSupportedClasses.DbCommandBuilder: return factory.CreateCommandBuilder(); case ProviderSupportedClasses.DbDataSourceEnumerator: return factory.CreateDataSourceEnumerator(); case ProviderSupportedClasses.CodeAccessPermission: return factory.CreatePermission(PermissionState.None); } throw new InternalException(string.Format(CultureInfo.CurrentCulture, "Cannot create object of provider class identified by enum {0} for provider {1}", new object[] { Enum.GetName(typeof(ProviderSupportedClasses), kindOfObject), providerName })); }
public static DbProviderFactory GetFactoryFromType(Type type, ProviderSupportedClasses kindOfObject) { if (type == null) { throw new ArgumentNullException("type"); } if (providerData.Matches(type)) { return(providerData.CachedFactory); } EnsureFactoryTable(); foreach (DataRow row in factoryTable.Rows) { DbProviderFactory factory = DbProviderFactories.GetFactory(row); string providerName = (string)row[PROVIDER_NAME]; object obj2 = CreateObject(factory, kindOfObject, providerName); if (type.Equals(obj2.GetType())) { providerData.Initialize(factory, (string)row[PROVIDER_INVARIANT_NAME], (string)row[PROVIDER_NAME], type); return(factory); } } throw new InternalException(string.Format(CultureInfo.CurrentCulture, "Unable to find DbProviderFactory for type {0}", new object[] { type.ToString() })); }
public static DbProviderFactory GetFactoryFromType(Type type, ProviderSupportedClasses kindOfObject) { if (type == null) { throw new ArgumentNullException("type"); } if (providerData.Matches(type)) { return providerData.CachedFactory; } EnsureFactoryTable(); foreach (DataRow row in factoryTable.Rows) { DbProviderFactory factory = DbProviderFactories.GetFactory(row); string providerName = (string) row[PROVIDER_NAME]; object obj2 = CreateObject(factory, kindOfObject, providerName); if (type.Equals(obj2.GetType())) { providerData.Initialize(factory, (string) row[PROVIDER_INVARIANT_NAME], (string) row[PROVIDER_NAME], type); return factory; } } throw new InternalException(string.Format(CultureInfo.CurrentCulture, "Unable to find DbProviderFactory for type {0}", new object[] { type.ToString() })); }