2012-04-19 2 views
1

내 컬렉션 나는 그 누구의 픽업의 SEQNO 누구보다 상태를 제공 크면 더의 주문 번호 모두 얻을 필요가이사용자 정의 Linq는 쿼리

enter image description here

것 같습니다. 비즈니스 규칙은 이러한 작업이 SeqNo를 기반으로 이루어 지므로 주문을 받기 전에 배달해야하는 주문이 없습니다.

주어진 예제에서 나는 픽업 받기 전에 배달되기 때문에 주문 번호 2를 얻어야합니다. 이 같은 뭔가가 필요 같은 감사

+1

를 시도? 그리고 컬렉션의 인스턴스가있는 클래스의 정의는 무엇입니까? –

+0

내 수업에는이 3 가지 속성 만 있고 지금은 foreach 루프 및 목록을 사용하여이 작업을 수행하고 있습니다. – MegaMind

답변

5

는 소리 - 내가 쉽게 읽을 수 있도록 쿼리 부분을 분리 한 : 당신은 무엇을

var pickups = orders.Where(order => order.Status == Status.Pick); 
var deliveries = orders.Where(order => order.Status == order.Deliver); 
var query = from pickup in pickups 
      join delivery in deliveries on pickup.OrderId equals delivery.OrderId 
      where pickup.SeqNo > delivery.SeqNo 
      select pickup.OrderId; 
+0

Very Simple Solution, BIG THANKS – MegaMind