public static MapperProvider CreateProvider(string name) { MapperProvider connectionString = null; MapperProvider.MapperProviderList.TryGetValue(name, out connectionString); if (connectionString == null) { Test.Core.MapperProviderInfo mapperProviderInfo = null; MapperProvider.MapperProviderInfo.TryGetValue(name, out mapperProviderInfo); if (mapperProviderInfo == null) { throw new Exception(string.Concat(name, " not exist MapperProviderInfo")); } connectionString = (MapperProvider)Activator.CreateInstance(MapperProvider.MapperProviderType[mapperProviderInfo.ProviderType]); connectionString.Name = name; connectionString.connectionString = mapperProviderInfo.ConnectionString; connectionString.catalog = mapperProviderInfo.Catalog; connectionString.Parameter = mapperProviderInfo.Parameter; MapperProvider.MapperProviderList.Add(name, connectionString); } return(connectionString); }
public static Test.Core.MapperProviderInfo Add(string name, string connectionString, string providerType) { if (!MapperProvider.MapperProviderType.ContainsKey(providerType)) { throw new Exception(string.Concat(providerType, " not exist MapperProvider class")); } if (MapperProvider.MapperProviderInfo.ContainsKey(name)) { return(null); } Test.Core.MapperProviderInfo mapperProviderInfo = new Test.Core.MapperProviderInfo() { Name = name, ConnectionString = connectionString }; string[] strArrays = connectionString.Split(new char[] { ';' }); for (int i = 0; i < (int)strArrays.Length; i++) { string str = strArrays[i]; if (!string.IsNullOrEmpty(str)) { string[] strArrays1 = str.Split(new char[] { '=' }); if ((int)strArrays1.Length == 2 && strArrays1[0].ToLower() == "initial catalog") { mapperProviderInfo.Catalog = strArrays1[1]; } } } mapperProviderInfo.ProviderType = providerType; MapperProvider.MapperProviderInfo.Add(name, mapperProviderInfo); if (MapperProvider.DefaultProviderName == null) { MapperProvider.DefaultProviderName = name; } return(mapperProviderInfo); }