static DbConnectionFactory() { // Seeks for database provider factory classes from GAC or as indicated by // the configuration file, see at <see href="https://msdn.microsoft.com/en-us/library/dd0w4a2z%28v=vs.110%29.aspx">Obtaining a DbProviderFactory</see>. foreach (DataRow factoryData in DbProviderFactories.GetFactoryClasses().Rows) { var invariantName = factoryData["InvariantName"].ToString(); var factoryName = factoryData["Name"].ToString(); var description = factoryData["Description"].ToString(); var assemblyQualifiedNameKey = factoryData["AssemblyQualifiedName"].ToString(); var factory = DbProviderFactories.GetFactory(invariantName); var cachedFactory = new CachedFactory(factory, factoryName, description, assemblyQualifiedNameKey); factoryCache.Add(invariantName, cachedFactory); } }
static DbConnectionFactory() { // Seeks for database provider factory classes from GAC or as indicated by // the configuration file, see at <see href="https://msdn.microsoft.com/en-us/library/dd0w4a2z%28v=vs.110%29.aspx">Obtaining a DbProviderFactory</see>. foreach (DataRow factoryData in DbProviderFactories.GetFactoryClasses().Rows) { var invariantName = factoryData["InvariantName"].ToString(); var factoryName = factoryData["Name"].ToString(); var description = factoryData["Description"].ToString(); var assemblyQualifiedNameKey = factoryData["AssemblyQualifiedName"].ToString(); var factory = DbProviderFactories.GetFactory(invariantName); var cachedFactory = new CachedFactory(factory, factoryName, description, assemblyQualifiedNameKey); factoryCache.Add(invariantName, cachedFactory); } }
public static T Create(IServiceProvider serviceProvider) { return((T)CachedFactory.Value(serviceProvider, Array.Empty <object>())); }