2008-08-30 2 views
1

하나의 DataSet이 나타내는 양은 어느 정도입니까? 주문 시스템 예제 사용하기 : 주문을 보여 주면서 가장 비슷한 항목 목록뿐만 아니라 가장 비슷한 항목 목록을 보여줍니다. 귀하와 과거의 주문, 선호하는 공급 업체 및 고객과 관련된 다양한 종류의 정보가 관련된 관계의 웹에서 항목이 엉켜있는 동안 다른 항목에는 이와 같은 관계가 없습니다. 내가 당신을 나타내는 물건 세트를 탐색하는 데 사용하는 일련의 쿼리는 다른 아이템 목록 중 하나에 사용하는 쿼리와 다릅니다.하나의 DataSet이 얼마나 많이 나타내야합니까?

다른 종류의 관계에 대해 서로 다른 DataSets를 만드는 경향이 있지만 10 개의 개별 항목 DataTable을 만들면 틀린 것처럼 보입니다. 큰 데이터 세트를 인스턴스화 할 때 비록 내가 잘못된 것으로 보이는 작은 하위 세트에만 관심이 있지만,이 모든 것을 하나의 데이터 세트로 묶으려고하면 서로 옆에있는 여러 항목 테이블을 가진 큰 지저분한 찾고 물건이 있습니다. 꽤 틀렸어.

어쩌면 DataSets의 관계 기능을 과소 평가했거나 어쩌면 나는 약간의 지침을 사용할 수있는 방법으로 스스로를 극복해야 할 수도 있습니다.

답변

1

이 때문에 데이터 세트를 사용하지 않습니다. 강력한 형식의 데이터 집합을 사용하는 경우 강력한 형식의 이점을 누릴 수 있지만 코드 형식을 사용하는 경우에도 코드 형식을 사용하는 경우에도 코드베이스의 측면에서 확장 성을 제공합니다. 기존 행을 수정하고 행 정의를 수정하려는 경우 컴파일 할 때 새로운 행을 추가하는 각 정의가 수정되어야하므로 코드 기반에서 "샷건"나누기가 작성됩니다.

위의 시나리오를 피하려면 가장 합리적인 방법은 일반적으로 합리적인 재사용을 포기하는 것입니다. 용도별 및 용도별로 데이터 세트를 정의하십시오. 그러나이 주요 문제는 API를 사용하는 것입니다, 당신은 다른 데이터 세트에 simliar 데이터 세트로 끝나지 만, 다른 데이터 셋 타입이기 때문에 고통스럽고 우아하지 않은 공통 API를 사용하도록 변환해야합니다.

강력하게 형식화 된 데이터 집합이 코드를 무섭게 만든다는 사실 (형식 선언의 길이)은 데이터 집합에서 포기하고 대신 비즈니스 개체로 전환 한 이유입니다.

4

데이터 세트는 지나치게 과대 평가되어 과도하게 사용됩니다. 강력한 형식의 콜렉션을 사용하십시오 (감사합니다, 제네릭 및 자동 속성!). 케이크 위에 장식으로 LINQ를 사용하여 사용자 지정 개체에 대한 멋진 쿼리 작업을 수행 할 수도 있습니다. 사용자 정의 개체에 비해 데이터 세트에

좋은 에스 포 기사 :

http://msdn.microsoft.com/en-us/magazine/cc163751.aspx

자동 속성 : 당신의 개체

http://weblogs.asp.net/dwahlin/archive/2007/12/04/c-3-0-features-automatic-properties.aspx

LINQ :

http://blogs.msdn.com/wriju/archive/2006/09/16/linq-custom-object-query.aspx

관련 문제