public static void SetConnection(string connectionKey, string connectionString, string providerName) { var newConnections = new Dictionary <string, ConnectionStringInfo>(connections); newConnections[connectionKey] = new ConnectionStringInfo(connectionKey, connectionString, providerName, GetFactory(providerName)); connections = newConnections; }
public static ConnectionStringInfo TryGetConnectionString(string connectionKey) { ConnectionStringInfo connection; if (!connections.TryGetValue(connectionKey, out connection)) { var newConnections = new Dictionary <string, ConnectionStringInfo>(connections); #if COREFX var connectionString = Dependency.Resolve <IConfiguration>().GetValue <string>("Data:" + connectionKey + ":ConnectionString"); var providerName = Dependency.Resolve <IConfiguration>().GetValue <string>("Data:" + connectionKey + ":ProviderName") ?? "System.Data.SqlClient"; var factory = GetFactory(providerName); connection = newConnections[connectionKey] = new ConnectionStringInfo(connectionKey, connectionString, providerName, factory); #else var connectionSetting = ConfigurationManager.ConnectionStrings[connectionKey]; if (connectionSetting == null) { return(null); } var factory = GetFactory(connectionSetting.ProviderName); connection = newConnections[connectionKey] = new ConnectionStringInfo(connectionKey, connectionSetting.ConnectionString, connectionSetting.ProviderName, factory); #endif connections = newConnections; } return(connection); }
/// <summary> /// Tries to get a connection string by its key. /// </summary> /// <param name="connectionKey">The connection key.</param> /// <returns>Connection string</returns> public static ConnectionStringInfo TryGetConnectionString(string connectionKey) { ConnectionStringInfo connection; if (!connections.TryGetValue(connectionKey, out connection)) { var newConnections = new Dictionary <string, ConnectionStringInfo>(connections); var configuration = Dependency.TryResolve <IConfigurationManager>(); if (configuration == null) { return(null); } var connectionSetting = configuration.ConnectionString(connectionKey); if (connectionSetting == null) { return(null); } connection = newConnections[connectionKey] = new ConnectionStringInfo(connectionKey, connectionSetting.Item1, connectionSetting.Item2); connections = newConnections; } return(connection); }
public static ConnectionStringInfo GetConnectionString(string connectionKey) { ConnectionStringInfo connection; if (!connections.TryGetValue(connectionKey, out connection)) { var newConnections = new Dictionary<string, ConnectionStringInfo>(connections); var connectionSetting = ConfigurationManager.ConnectionStrings[connectionKey]; if (connectionSetting == null) throw new InvalidOperationException(String.Format("No connection string with key {0} in configuration file!", connectionKey)); var factory = GetFactory(connectionSetting.ProviderName); connection = newConnections[connectionKey] = new ConnectionStringInfo(connectionSetting.ConnectionString, connectionSetting.ProviderName, factory); connections = newConnections; } return connection; }
/// <summary> /// Creates a new <see cref="DbConnection"/> for given connection string and provider name.</summary> /// <param name="connectionString">Connection string</param> /// <param name="providerName">Provider name</param> /// <returns>A new <see cref="DbConnection"/> object.</returns> public static IDbConnection New(string connectionString, string providerName) { var factory = GetFactory(providerName); var connection = factory.CreateConnection(); connection.ConnectionString = connectionString; var dialect = ConnectionStringInfo.GetDialectByProviderName(providerName) ?? SqlSettings.DefaultDialect; var profiler = Dependency.TryResolve <IConnectionProfiler>(); if (profiler != null) { return(new WrappedConnection(profiler.Profile(connection), dialect)); } return(new WrappedConnection(connection, dialect)); }
/// <summary> /// Gets a connection string by its key /// </summary> /// <param name="connectionKey">Connection key</param> /// <returns>Connection string or null if not found</returns> public IConnectionString TryGetConnectionString(string connectionKey) { if (byKey.TryGetValue(connectionKey, out ConnectionStringInfo info)) { return(info); } if (!options.Value.TryGetValue(connectionKey, out ConnectionStringEntry entry)) { return(null); } info = new ConnectionStringInfo(connectionKey, entry.ConnectionString, entry.ProviderName, DetermineDialect(connectionKey, entry)); byKey[connectionKey] = info; return(info); }
public static ConnectionStringInfo TryGetConnectionString(string connectionKey) { ConnectionStringInfo connection; if (!connections.TryGetValue(connectionKey, out connection)) { var newConnections = new Dictionary <string, ConnectionStringInfo>(connections); var connectionSetting = ConfigurationManager.ConnectionStrings[connectionKey]; if (connectionSetting == null) { return(null); } var factory = GetFactory(connectionSetting.ProviderName); connection = newConnections[connectionKey] = new ConnectionStringInfo(connectionSetting.ConnectionString, connectionSetting.ProviderName, factory); connections = newConnections; } return(connection); }
public static ConnectionStringInfo GetConnectionString(string connectionKey) { ConnectionStringInfo connection; if (!connections.TryGetValue(connectionKey, out connection)) { var newConnections = new Dictionary <string, ConnectionStringInfo>(connections); var connectionSetting = ConfigurationManager.ConnectionStrings[connectionKey]; if (connectionSetting == null) { throw new InvalidOperationException(String.Format("No connection string with key {0} in configuration file!", connectionKey)); } var factory = GetFactory(connectionSetting.ProviderName); connection = newConnections[connectionKey] = new ConnectionStringInfo(connectionSetting.ConnectionString, connectionSetting.ProviderName, factory); connections = newConnections; } return(connection); }
public static void SetConnection(string connectionKey, string connectionString, string providerName) { var newConnections = new Dictionary<string, ConnectionStringInfo>(connections); newConnections[connectionKey] = new ConnectionStringInfo(connectionString, providerName, GetFactory(providerName)); connections = newConnections; }