private static IDbConnection GetConnectionAll(ConnectionDetails connectionDetails)
 {
     return(connectionDetails.Database switch
     {
         Database.SqlServer =>
         new Microsoft.Data.SqlClient.SqlConnection(
             GetConnectionString(connectionDetails)),
         Database.PostgreSql =>
         new Npgsql.NpgsqlConnection(
             GetConnectionString(connectionDetails)),
         Database.MySql =>
         new MySql.Data.MySqlClient.MySqlConnection(
             GetConnectionString(connectionDetails)),
         Database.OracleSql =>
         new Oracle.ManagedDataAccess.Client.OracleConnection(
             GetConnectionString(connectionDetails)),
         Database.LegacySqlServer =>
         new System.Data.SqlClient.SqlConnection(
             GetConnectionString(connectionDetails)),
         _ =>
         new System.Data.Odbc.OdbcConnection(
             GetConnectionString(connectionDetails)),
     });
Example #2
0
        public static IDataReader GetDataReader(ConnectionDetails connectionDetails, QueryPlan queryPlan)
        {
            var connection = DbConnectionFactory.GetConnection(connectionDetails);

            if (queryPlan.Parameters?.Any() ?? false)
            {
                var parameters = new DynamicParameters();
                foreach (var parameter in queryPlan.Parameters)
                {
                    parameters.Add(
                        parameter.Name,
                        parameter.Value,
                        parameter.DbType,
                        parameter.Direction,
                        parameter.Size,
                        parameter.Precision,
                        parameter.Scale);
                }

                return(ExecuteReader(connection, queryPlan.Query, parameters));
            }

            return(ExecuteReader(connection, queryPlan.Query, null));
        }
Example #3
0
        public static IDataReader GetDataReader(ConnectionDetails connectionDetails, string sqlText, List <Parameter> parameters = null)
        {
            var connection = DbConnectionFactory.GetConnection(connectionDetails);

            if (parameters?.Any() ?? false)
            {
                var dynamicParameters = new DynamicParameters();
                foreach (var parameter in parameters)
                {
                    dynamicParameters.Add(
                        parameter.Name,
                        parameter.Value,
                        parameter.DbType,
                        parameter.Direction,
                        parameter.Size,
                        parameter.Precision,
                        parameter.Scale);
                }

                return(ExecuteReader(connection, sqlText, dynamicParameters));
            }

            return(ExecuteReader(connection, sqlText, null));
        }
Example #4
0
 public static IDbConnection GetConnection(ConnectionDetails connectionDetails)
 {
     return(DbConnectionFactory.GetConnection(connectionDetails));
 }