public static IList <CSharpProperty> FromQuery(ISqlConnectionProvider sqlConnectionProvider, string sqlQuery)
    {
        var connection = sqlConnectionProvider.GetSqlConnection();
        var reader     = GetReader(connection, sqlQuery);
        var properties = ExtractColumnsFromDataReader(reader);

        return(properties);
    }
Exemplo n.º 2
0
        public async Task ExecuteNonQuery(string name, IList <SqlParameter> parameters = null)
        {
            await using SqlConnection connection = _sqlConnectionProvider.GetSqlConnection();
            await using SqlCommand sqlCommand    = new SqlCommand(name, connection)
                        {
                            CommandText = name, CommandType = CommandType.StoredProcedure, Connection = connection
                        };
            if (parameters != null)
            {
                foreach (SqlParameter parameter in parameters)
                {
                    sqlCommand.Parameters.Add(parameter);
                }
            }
            await connection.OpenAsync();

            await sqlCommand.ExecuteNonQueryAsync();
        }
Exemplo n.º 3
0
    private static IEnumerable <DescribeResultSetRow> GetQueryResultColumns(ISqlConnectionProvider sqlConnectionProvider, string sqlQuery)
    {
        var parameter = new DynamicParameters();

        parameter.Add("@tsql", sqlQuery);

        var resultSetColumns = sqlConnectionProvider
                               .GetSqlConnection()
                               .Query <DescribeResultSetRow>(DescribeResultSetStoredProcedureName, parameter, null, true, null, CommandType.StoredProcedure);

        return(resultSetColumns);
    }
    public static IList <SqlTableReference> GetRandomSqlTableReferences(
        ISqlConnectionProvider sqlConnectionProvider,
        int count)
    {
        var sql = string.Format("SELECT top {0} * FROM INFORMATION_SCHEMA.TABLES order by newid()", count);
        var randomTableNames = sqlConnectionProvider
                               .GetSqlConnection()
                               .Query(sql);
        var sqlTableReferences = randomTableNames
                                 .Select(x => new SqlTableReference(sqlConnectionProvider, x.TABLE_SCHEMA + "." + x.TABLE_NAME))
                                 .ToList();

        return(sqlTableReferences);
    }
Exemplo n.º 5
0
 public static SqlConnection ToSqlConnection(this ISqlConnectionProvider provider) =>
 provider.GetSqlConnection().ToSqlConnection();