1

我的收藏看起来像这样

在此处输入图像描述

我需要获取所有那些 Pick's SeqNo 大于其交付状态的订单号。业务规则是这些操作基于它们的 SeqNo 发生,并且在取货之前不应交付任何订单号。

在给定的示例中,我应该得到 2 号订单,因为它在取货之前交付。谢谢

4

1 回答 1

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;
于 2012-04-19T06:41:02.140 回答