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() 메서드를 향상시켜보다 동적으로 만들고 싶습니다. 어떻게 든 익명 객체의 목록을 반환하고 싶습니다. 각 객체는 반환 된 데이터 세트의 열과 관련된 속성을 갖습니다.
나는 닷넷을 잠시 코딩 해왔다. 그러나 나는 많은 개념에서 여전히 새로운 편이다. 데이터 집합의 열을 가장 효과적으로 미러링하는 익명 개체 목록을 만드는 방법을 잘 모르겠습니다. 나는 또한이 경우에 어떤 리턴 타입을 사용할 지 모르겠다. 어쩌면 List라고 생각하고있다. 그런 다음 리플렉션을 사용하여 익명의 개체에서 데이터를 가져 와서 필요한 곳으로 전송해야 할 필요가 있다고 생각합니다.
누군가가이 퍼즐의 중요한 부분을 도울 수 있다면, 나는 가장 의무감을 느낍니다.
왜 바퀴를 재발견. Entity Framework 또는 다른 ORM을 사용하십시오. –
@JohnSaunders OP는 그가 Access를 사용하고 있다고 말했습니다. EF는 Access를 지원하지 않으며 매핑을 수행하기 위해 ORM을 던지는 것은 잔인합니다. – Asti