SubMenus (메뉴와 동일한 유형이므로 SubMenus와 Items도 가질 수 있음)와 Items (다른 유형)를 가진 Menu 클래스가 있다고 가정하고 두 가지 테이블 (하나는 메뉴 용이고 다른 하나는 항목 용). LINQ to SQL을 사용하여 Menu 클래스 (모든 SubMenus 및 Items)의 전체 그래프를로드 할 수 있습니까?LINQ를 사용하여 SQL에서 전체 그래프로드하기
1
A
답변
0
SQL에서 관계를 올바르게 정의하면 LINQToSQL이 메뉴에 대한 단일 쿼리와 함께 모든 메뉴/항목을 다시 제공해야합니다. 그러나 이것은 다시 그래프로 사용하지 않고 메뉴의 열거 (관련 메뉴 및 항목 포함)로 사용합니다. 이 열거를 반복하고 그래프를 직접 구성해야합니다.
한편, 당신이 뭔가를 할 수 있습니다
var roots = db.Menus.Where(m => !m.SubMenus.Count == 0);
그런 roots
은 기본 메뉴 모음이 될 것입니다. 이것은 그래프 분석 알고리즘을 수행하지 않고 GUI 구성 요소를 구성하기 위해 위에서 아래로 이동하려는 경우에 충분할 수 있습니다.
관련 문제
- 1. SQL에서 linq를 사용하여 다음 및 이전 레코드 ID를 얻는 방법?
- 2. Linq를 사용하여 데이터베이스에서 ID를 얻는 방법은 무엇입니까?
- 3. NHibernate에 대한 LINQ를 사용하여 조인을 수행하는 방법
- 4. pl SQL에서 익명 블록을 사용하여 전체 테이블을 인쇄하는 방법은 무엇입니까?
- 5. LINQ를 사용하여 XML 검색
- 6. LINQ를 사용하여 제품을 계산하십시오
- 7. LINQ를 사용하여 컬렉션 매핑
- 8. linq를 사용하여 svg에서 html로
- 9. LINQ를 사용하여 개체 만들기
- 10. Linq를 선택하고, 인덱서를 사용하여
- 11. linq를 사용하여 필드를 반복합니다.
- 12. LINQ를 사용하여 왼쪽으로 조인
- 13. LINQ를 사용하여 토폴로지 정렬
- 14. LINQ를 사용하여 평균을 얻으십시오.
- 15. Linq를 사용하여 메서드 전달
- 16. Linq를 사용하여 배열에 포함
- 17. SQL에서 테이블의 전체 열 수를 얻으려면
- 18. LINQ를 통해 SQL에서 RANDOM 및 UNIQUE 레코드를 가져 오는 방법
- 19. SQL Management Studio에서 linq를 사용하거나 인라인 SQL에서 사용할 수 있습니까?
- 20. Linq를 사용하여 ASP.net에서 gridview의 데이터보기
- 21. LINQ를 사용하여 여러 데이터베이스에 연결
- 22. LinQ를 사용하여 XML 파일 읽기
- 23. LINQ를 사용하여 DbDataReader를 동적으로 정렬
- 24. Linq를 사용하여 자녀가 부모를 필터링
- 25. LINQ를 사용하여 1000 레코드 삽입
- 26. LINQ를 사용하여 RDL 데이터 추출
- 27. winforms datagridview LINQ를 사용하여 정렬
- 28. LINQ를 사용하여 간단한 언어 식별
- 29. LINQ를 사용하여 XML 구문 분석
- 30. 엔티티에 Linq를 사용하여 저장된 함수
DataContractSerializer를 사용하여 전체 그래프를 XML 파일로 serialize하려는 경우 모든 개체를로드해야한다고 생각합니다. LoadOptions를 어떻게 든 열심히로드 할 수 있습니까? – mrtaikandi
요소 대신 그래프 구조를 직렬화하려면 실제 그래프를 구성해야한다고 생각합니다. 열거 형에서 공유 메뉴에 대한 부모/자식 속성에 요소가 중복됩니다. DBML을 확인하십시오. 관계가 이미 열심히로드되어있을 수 있습니다. – tvanfosson
요소를 직렬화하려고합니다. – mrtaikandi