Поскольку звучит так, будто вы ищете эффективность программы. Я бы склонялся к классу бизнес-объектов, используя считыватель данных в качестве метода доступа. Это даст вам возможность создавать поддерживаемый код и скорость.
Вы можете создать объект с помощью метода, который выполняет итерацию через DataReader, как в примере ниже. Это дает вам всю скорость и, на мой взгляд, это вполне ремонтопригодно. Это, вероятно, в значительной степени то, что предоставляет вам тип DataSet, просто без дополнительных строк кода для обобщения функций, необходимых для извлечения данных.
как то так:
public class Table1
{
public int Col1 { get; set; }
public String Col2 { get; set; }
public List<Table1> GetTable1()
{
List<Table1> tableContents = new List<Table1>();
SqlCommand cmd = new SqlCommand("SELECT * FROM Table1");
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
tableContents.Add(new Table1
{
Col1 = (int)rdr["Col1"],
Col2 = (string)rdr["Col2"]
});
}
return tableContents;
}
}
Есть много способов сделать это, надеюсь, это поможет