2011-12-04 4 views
2

(C#, ASP.NET MVC 및 SQL Server를 사용하여) Entity Framework를 사용하여 다음 쿼리를 수행하는 가장 효율적인 방법을 결정하려고합니다.계층 적 데이터 쿼리를위한 제안

위치가 계층 적입니다. ParentLocationID 열은 상위 위치를 참조합니다. 예를 들어, 미국은 유타의 부모 위치 일 수 있습니다.

[Locations] 
ID int 
Title nvarchar(100) 
ParentLocationID int 

그리고 나서 해당 위치에 대한 참조가있는 활동 표가 있습니다.

[Activities] 
ID int 
Title nvarchar(100) 
LocationID int 

내가 수행 할 쿼리는 해당 위치의 "하위 위치"에 대한 모든 활동을 포함하여 주어진 위치에 대한 모든 활동을 찾는 것입니다. (예를 들어, 위치가 미국 인 경우 미국, 유타, 솔트 레이크 시티, 캘리포니아 등의 모든 활동을 포함해야합니다.)

C# 만 사용하면이를 구현하는 재귀 적 방법을 작성합니다. 하지만 EF 나 SQL Server가 수많은 시나리오를 필요로하지 않는이 시나리오를 지원하는지 궁금합니다. 다른 사람들이이 문제에 어떻게 접근 할 수 있는지에 대한 조언을 듣고 싶습니다. 공통 테이블 식 (CTE)를 사용하여

답변