2009-05-17 2 views
0

일부 정보가있는 treeview 컨트롤을 채우려는 중이고이를 위해 다음과 같이 2 개의 별도 LINQ 문을 사용하고 있습니다.2 LINQ를 하나로 결합하는 방법

Dim a = From i In CustomerTable _ 
     Group By ShipToCustName = i.Item(6), BillToCustName = i.Item(4) Into Details = Group, Count() _ 
     Order By ShipToCustName 


Dim b = From x In a _ 
     Group By ShipToName = x.ShipToCustName Into Group, Count() _ 
     Order By ShipToName 

For Each item In b 
     Console.WriteLine("Shitp To Location: " + item.ShipToName) 
     For Each x In item.Group 
      Console.WriteLine("...BillTo:" + x.BillToCustName) 
      For Each ticket In x.Details 
       Console.WriteLine("......TicketNum" + ticket.Item(0).ToString) 

      Next 
     Next 
Next 

A와 B를 하나의 쿼리로 결합하는 방법이 있습니까? 어떤 도움을 주시기 바랍니다 ...

답변

3

글쎄, 정말 B는 하나의 쿼리입니다. Linq 문에서 되돌아 오는 것은 실제 결과가 아니라 IQueryable이라는 것을 기억하십시오. 이것은 B가 자신의 표현식을 A의 표현식과 결합하지만 B를 열거 할 때까지는 검색이 수행되지 않는다는 것을 의미합니다. 따라서 B는 실제로 단일 쿼리 일뿐입니다.

관련 문제