과 계층 클래스 구조 작성 :나는이 같은 계층 클래스 구조가 데이터
카테고리 -> 템플릿 -> 인스턴스
카테 여러 템플릿이 포함되어이 템플릿은 여러 인스턴스를 포함합니다.
CategoryID | CategoryName | CategoryType | TemplateID | TemplateName | TemplateXYZ | InstanceID | InstanceName
1 | "CatA" | "TypeX" | 1 | "TempA" | "X" | 1 | "InstA"
1 | "CatA" | "TypeX" | 1 | "TempA" | "X" | 2 | "InstB"
1 | "CatA" | "TypeX" | 1 | "TempA" | "X" | 3 | "InstC"
1 | "CatA" | "TypeX" | 1 | "TempB" | "Y" | 4 | "InstD"
(단지 예를 들어, 실제 데이터 테이블이 더 많은 열이)
: 나는 3 개 테이블을 통해 참여를 통해 데이터베이스에서 데이터를 쿼리 할 경우는 데이터는 다음과 같이 보입니다
데이터 판독기로 순환 할 때 이러한 종류의 데이터로 클래스를 채우는 가장 좋은 방법은 무엇입니까?
while(data.Read())
{
// Create new objects each time the ID changes and read the data from the first row
if(data["CategoryID"] != lastCategoryID) {
lastCategoryID = data["CategoryID"];
cat = new Category(data["CategoryName"], data["CategoryType"]);
catList.Add(cat);
}
if(data["TemplateID"] != lastTemplateID) {
lastTempateID = data["TemplateID"];
template = new Template(data["TemplateName"], data["TemplateXYZ"]));
cat.Templates.Add(template);
}
template.Instances.Add(new Instance(data["InstanceID"], data["InstanceName"]);
}
이 계층 클래스 객체를 채우기 위해 더 나은, 더 우아한 해결책이 있습니까 : 나는 이런 식으로 할 것이 내 머리의 상단에서
? 어쩌면 LINQ 또는 사전을 사용하고 있을까요?참고 :이 질문은 best way to gather hierarchical data from a DB에 대한 저의 다른 질문과 관련이 있습니다. 이것이 두 가지 분리 된 문제이기 때문에 나는 그것을 분리했다.
감사합니다 그 점을 지적하기 위해 템플릿은 실제로 여러 범주에 속할 수 있습니다. 비록 내가 처음에는 많은 행에 대해서 동등한 데이터를 얻는 것에 대해서 여전히 불만 스럽긴하지만, 더 좋은 제안이 없다면, 나는 이것을 이렇게 구현할 것이라고 생각한다. – magnattic