У меня есть следующий класс, который я использую для чтения больших объемов данных из базы данных Access.
public class ConnectToAccess
{
private readonly string _connectionString;
public ConnectToAccess(String connectionString)
{
_connectionString = connectionString;
}
public List<String> GetData(String sql)
{
var data = new List<String>();
using (var connection = new OleDbConnection(_connectionString))
{
using (var command = connection.CreateCommand())
{
command.CommandText = sql;
command.CommandType = CommandType.Text;
connection.Open();
using (var reader = command.ExecuteReader())
{
if (reader != null && reader.HasRows)
while (reader.Read())
{
data.Add(reader["First Name"] + " " + reader["Last Name"]);
}
}
}
}
return data;
}
}
Как есть, этот код работает и успешно извлекает данные из базы данных. Тем не менее, я хотел бы улучшить метод GetData (), чтобы сделать его более динамичным. Мне бы хотелось, чтобы он как-то возвращал список анонимных объектов, где у каждого объекта есть свойства, относящиеся к возвращаемым столбцам набора данных.
Некоторое время я программировал в .Net, но я все еще довольно нов во многих концепциях. Я не совсем уверен, как создать этот список анонимных объектов, которые наиболее эффективно отражают столбцы в наборе данных. Я также не уверен, какой тип возврата я бы использовал в этом случае, я думаю, может быть, List. Тогда я полагаю, что мне нужно было бы использовать отражение, чтобы вытащить данные из этих анонимных объектов и перенести их туда, куда они должны идти.
Если кто-нибудь может помочь мне с какой-либо значительной частью этой головоломки, я был бы очень признателен.