2009-09-22 5 views
0

대부분의 경우 응용 프로그램에서 객체를 다루기 때문에 아무 문제없이 객체 목록을 객체에 바인딩 할 수 있습니다.asp.net 2.0 : gridview에 바인딩 할 수있는 최상의 데이터 구조

그러나 두 경우에 여러 표 결합의 결과를 gridview에 표시하려고합니다. 현재 코드는 꽤 쉬운 데이터 셋을 사용합니다. 그러나 이것을하기위한 더 나은 /보다 효율적인 방법이 있는지 궁금합니다.

데이터 세트의 대부분의 기능은 필요하지 않습니다. 데이터는 읽기 전용이며 대부분의 경우 많은 수의 레코드가 없습니다. (보통 200 개 이하, 일반적으로 10-20 개)

답변

0

가능한 한 DataReader를 사용해야한다고 생각합니다. 아래 나열된 두 가지 상황과 같이 DataSet이 더 적절한 경우가 있습니다. 이들은 "Why I Don't Use DataSets in My ASP.NET Applications"이라는 기사에서 나온 것입니다. 또한 후속 기사 "More On Why I Don't Use DataSets in My ASP.NET Applications"을 확인하십시오. 데스크탑, 윈폼 응용 프로그램에서

  1. . 데스크톱 기반의 데이터 입력 유형 프로그램을 생각해보십시오. 사용자가 프로그램을 실행하고 일부 데이터베이스 서버에서 데이터를로드 한 다음 일부 변경을 수행 한 다음 변경 사항을 저장하려고 할 수 있습니다. 이것은 데이터 집합에 대해 이상적인 상황입니다. 그것은 지속적으로 다시 데이터베이스에 여행을 데이터가 는 사용자에게 할 필요없이 데이터에 를 작동 할 수있는 능력을 준다 클라이언트의 메모리에 상주하는 데이터 집합 로 읽을 수 있습니다. 데이터를 편집 완료되면, 그들은 정상적으로 사용자가 연결이 끊긴 상태에서 데이터로 작업하는 동안 이 발생할 수있는 것으로 변경 처리, 일괄 업데이트를 할 수 있습니다. 또한 데이터 집합은 연결이 끊긴 데이터 저장소이므로이 데이터를 오프라인으로 가져올 수 있습니다. 고객의 사이트로 여행하는 세일즈맨이이 데이터를로드 할 수 있으며 중계 중 또는 고객의 사무실에서 동안 자신의 랩톱에서 데이터를 검토 할 수 있습니다.

  2. 플랫폼간에 원격 데이터베이스 정보를 송수신하거나 통신을 허용하려는 경우. 데이터 집합이 너무 쉽게 XML로 직렬화/ 직렬화 할 수 있기 때문에, 그들은 물리적 경계를 넘어 또는 플랫폼 중립적 형식으로 직렬화 데이터의 수단으로 정보를 전송 에 대한 주요 후보입니다. 예를 들어 웹 서비스에서 데이터베이스 데이터 을 반환하려는 경우 은 데이터베이스 데이터를 DataSet으로 읽어 들이고 웹 서비스 메서드에서 데이터 집합을 반환합니다. 데이터 세트는 자동으로 으로 직렬화되어 회선을 통해 전송됩니다. (개인적으로 웹 서비스에서 데이터를이 방법으로 에 반환하지 않는 것이 좋습니다.오히려 사용자 지정 비즈니스 개체를 사용하는 것이 더 바람직합니다. XML을보다 세부적으로 제어 할 수 있으며 반환 페이로드가 훨씬 가볍고 아키텍처별로 덜 나타납니다.