2012-04-19 123 views
1

我收藏看起來像這樣自定義LINQ查詢

enter image description here

我需要得到所有這些訂單沒有的,其匹克的SeqNo大於它的交付狀態。業務規則是這些操作基於其SeqNo發生,並且在獲取之前不應交付訂單號。

在給出的例子中,我應該得到第二號訂單,因爲它在提取之前交付。 感謝

+1

你嘗試過什麼?什麼是你的集合的實例組成的類的定義是什麼? – 2012-04-19 06:38:03

+0

我的課只有這3個屬性,到現在爲止我通過使用foreach循環和列表來完成這項工作 – MegaMind 2012-04-19 06:41:29

回答

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

非常簡單的解決方案,BIG THANKS – MegaMind 2012-04-19 06:44:54