public IEnumerable<IList<CellData>> Rows()
{
using (var sqlConnection = new SqlConnection(_connectionString))
{
using (var sqlCommand = new SqlCommand(_sql, sqlConnection) { CommandTimeout = 1200 })
{
SqlParametersParser.ApplySafeParameters(sqlCommand, _sql, _paramValues);
sqlCommand.Connection.Open();
using (var sqlReader = sqlCommand.ExecuteReader())
{
while (sqlReader.Read())
{
var result = new List<CellData>();
for (var i = 0; i < sqlReader.FieldCount; i++)
{
var value = sqlReader.GetValue(i);
var pdfCellData = new CellData
{
PropertyName = sqlReader.GetName(i),
PropertyValue = value == DBNull.Value ? null : value,
PropertyIndex = i
};
result.Add(pdfCellData);
}
yield return result;
}
}
}
}
}