Beispiel #1
0
        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;
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        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;
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
 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;
 }